Kali Linux Web滲透測試手冊(第二版) – 9.7 – 通過HTTP頭利用漏洞
- 2019 年 10 月 5 日
- 筆記
掣雷安全小組
翻譯成員信息
thr0cyte,Gr33k,花花,
MrTools,R1ght0us,7089bAt
9.0、介紹
9.1、如何繞過xss輸入驗證
9.2、對跨站腳本攻擊(xss)進行混淆代碼測試
9.3、繞過文件上傳限制
9.4、繞過web服務器的CORS限制
9.5、使用跨站點腳本繞過CSRF保護和CORS限制
9.6、利用HTTP參數污染
9.7、通過HTTP頭利用漏洞
通過HTTP頭利用漏洞
發人員在編程輸入驗證代碼時,往往把重點放在url和請求數據中,經常會忽略這樣一個事實:整個請求的參數都可以被修改,所以cookie等http頭很容易被插入惡意payload
下面的教程中,我們將識別並利用能影響回顯的http頭
怎麼做
我們回到Mutillidae中,這次我們將使用
OWASP 2013 | A1 - Injection(SQL) | BypassAuthentication | Login exercise靶機
1. 首先發送不存在的用戶名和密碼,顯示登陸失敗
2. 將該請求發送到repeater模塊中
3. 在重放中,我們將測試user-agent的注入可能性,
將'+and+'1'='添加到user-agent頭中
4. 比較兩次響應的值我們會發現大了幾個位元組,如下截圖所示:
5. 為了更加清晰明了的看出不同,我們將兩次結果發送到comparer模塊中
6. 點擊words,比較回顯中不同的字符
7. 將右下方的『sync views』勾選上即可同步視圖,在查找中,我們發現了兩次結果的不同點:
8. 可以看到user-agent的值被返回到了瀏覽器頁面上,所以猜測可能存在xss漏洞,下面我們來驗證一下
9. 再次發送一個登陸請求,利用burp攔截下來。
10. 將 <img src=X onerror="alert('XSS')"> 添加進user-agent中:
11. 提交請求,我們可以發現payload被成功執行
原理剖析
在這節教程中,我們準備測試登陸表單中的sql注入漏洞,但是從結果回顯來看可以發現輸入被原封不動的返回到了頁面中,所以我們又判斷可能存在xss漏洞。接着我們插入<img>標籤成功驗證了猜想。