sqlmap和burpsuite繞過csrf token進行SQL注入檢測


利用sqlmap和burpsuite繞過csrf token進行SQL注入

轉載請注明來源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/3016332.html

問題:post方式的注入驗證時遇到了csrf token的阻止,原因是csrf是一次性的,失效導致無法測試。

解決方案:Sqlmap配合burpsuite,以下為詳細過程,參照國外牛人的blog(不過老外講的不是很細致,不適合我等小白)。

1、打開burpsuite(以1.5為例),設置好本地代理並設置為off狀態;

2、burpsuite的option選項中提供了Sessions(會話錄制、分析和處理的功能)。(幾乎沒看到網上介紹過,所以從沒有用過。。。)

3、打開option選項卡中的Sessions,添加處理規則並命名:“Add”rules  description添加處理動作:rule actions,我測試遇到的是post請求,故選擇“Run a post-request macro”;

4、設置scope,點擊scope選項卡,只選中Tool Scope中的Proxy(use with caution),設置URL Scope,將需要攔截的請求頁面地址粘貼至其中;

5、錄制會話:Add macro,打開了Macro Recorder,點擊“Record macro”,此時在瀏覽器中打開疑似存在注入的頁面並提交post請求,此時在Macro Recorder中可以看到請求頁面和提交請求的url及自動探測出的參數;

6、按ctrl鍵分別選中需要的請求,然后點擊OK,將其添加到Macro Editor中;

7、選中Get請求並Configure item打開配置界面,手動添加response中的參數(csrf token)並點OK;

7、選中Post請求並Configure item打開配置界面,將csrf token的值設為Response1,及Get請求的相應中選中的參數;

8、一路點擊OK,就配置好了;

9、運行sqlmap,輸入正常注入語句,增加代理選項--proxy="http://127.0.0.1:8080"后執行;

10、可以在burpsuite中的的proxy選項卡中的history項中看到注入執行過程,如果頁面響應都正確,則說明以上配置有效且成功。

解決過程中有幾個問題記錄下:

1、谷歌 搜索關鍵詞:sqlmap CSRF protection bypass,參考了一些資料,介紹說sqlmap可以識別一些csrf token然后處理,不過測試時候沒有發現;

2、之后才看到有一個人利用burpsuite進行處理的方法(上述的英文鏈接);

3、你懂的,看懂英文和理解起來還是有些差距的,加上作者沒有非常詳細的介紹,我自己測試很久都不行。最后才發現不需要關注同樣變化的cookie,只需要關注csrf token即可,因為burpsuite自帶的cookie jar 可以處理變化的cookie。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM