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>標籤成功驗證了猜想。