Burpsuite 插件之 reflector

概述

此插件能夠在瀏覽網頁時實時的發現反射型 XSS 漏洞,包括以下幾個特點:

  1. 在響應標籤中高亮顯示存在反射型 XSS 的位置
  2. 測試在該反射型 XSS 中允許哪些標籤符號
  3. 分析反射的上下文
  4. 設置 contentType 的白名單

如何使用

安裝好這個擴展之後就可以開始測試你的 web 應用程序了。每當找到一個反射型 XSS 後,reflector 就會定義它的嚴重性並在 burpsuite 中生成 issue,顯示出發現的問題。

每個 issue 都涵蓋了反射參數的詳細信息,如:

  1. 該種反射允許使用的特殊符號
  2. 在響應中高亮存在反射的值
  3. 反射 XSS 處上下文的分析

分析允許的符號

當一個反射型漏洞被找到,並且 option 選項卡的 「aggressive mode」 是激活狀態時,reflector會從漏洞參數中檢查哪些特殊符號會被顯示在頁面上。對於此操作,reflector 會為每一個漏洞參數構造一個請求。比如說,我們用 refletor 測試 elkokc.ml 這個站點,發現了3個搜索處存在反射型 XSS,並且每一處都通過了特殊符號的測試,所以 issue 的 Severity 屬性值被定為High。每次 reflector 檢測到一處反射型 XSS 就會定義 Severity 的等級,並在 burpsuite 中報告一個 issue。

上下文分析

在 」Check context」 模式中,reflector 不僅會顯示反射到頁面中的特殊字元而且還會找出能夠跳出當前語法限制的字元。比如,當搜索參數帶上 payload 」p@y<」』」 發往伺服器時,你能看到伺服器對這個特殊請求的響應,然而在不同的上下文中卻有所不同。

  1. 當上下文出現 『 , 」 時,使用 < 和雙引號可以逃離當前的上下文限制插入 HTML 代碼;
  2. 當上下文出現 」 時,使用 < 和括弧可以注入 HTML 標籤;
  3. 當上下文出現 』 , 「 時,使用 <和單引號可以結束 js 上下文寫入惡意代碼。

issue 信息被標記為如下:

  1. 上下文字元——可以跳出當前語法限制;
  2. 其他字元——可逃離上下文被反射出來。

反射位置定位

可以通過響應頁面的箭頭按鈕來進行定位到不同的反射處。

設置

  1. Scope only——reflector 僅作用於被添加的站點;
  2. Aggressive mode——reflector 生成測試 payload 從而產生額外的請求;
  3. Check context——激活上下文檢測模式。

還可以通過管理 content-Type 白名單來讓不同的 reflector 插件工作,但是如果使用除了text/html 之外的其他類型可能會導致運行速度變緩。

如何編譯

Jdk 1.7

步驟:

javac.exe -d build src/burp/*.java njar.exe cf plugin.jar -C build burp n

作者

  1. hvetsov Alexandr (GitHub:shvetsovalex)
  2. Dimitrenko Egor (GitHub: elkokc)

原文:github.com/elkokc/refle


推薦閱讀:

黑客組織OurMine相繼攻陷Netflix、漫威公司、NFL官方推特賬戶
「全家桶」的安全軟體還想再用嗎?不如試下這個!
如何利用Docker構建命令控制伺服器
CIA如何追蹤目標的真實地理位置?掃描附近公共WiFi
黑客銀行大劫案:弄丟了誰的老婆本,圓滿了誰的暴富夢?

TAG:XSS | Web安全测试 | 网络安全 |