利用sqlmap和burpsuite绕过csrf token进行SQL注入 (转)
問題:post方式的注入驗(yàn)證時遇到了csrf token的阻止,原因是csrf是一次性的,失效導(dǎo)致無法測試。
解決方案:Sqlmap配合burpsuite,以下為詳細(xì)過程,參照國外牛人的blog(不過老外講的不是很細(xì)致,不適合我等小白)。
(英文好的可以直接看:http://labs.asteriskinfosec.com.au/fuzzing-and-sqlmap-inside-csrf-protected-locations-part-2/):
1、打開burpsuite(以1.5為例),設(shè)置好本地代理并設(shè)置為off狀態(tài);
2、burpsuite的option選項(xiàng)中提供了Sessions(會話錄制、分析和處理的功能)。(幾乎沒看到網(wǎng)上介紹過,所以從沒有用過。。。)
3、打開option選項(xiàng)卡中的Sessions,添加處理規(guī)則并命名:“Add”rules? description添加處理動作:rule actions,我測試遇到的是post請求,故選擇“Run a post-request macro”;
4、設(shè)置scope,點(diǎn)擊scope選項(xiàng)卡,只選中Tool Scope中的Proxy(use with caution),設(shè)置URL Scope,將需要攔截的請求頁面地址粘貼至其中;
5、錄制會話:Add macro,打開了Macro Recorder,點(diǎn)擊“Record macro”,此時在瀏覽器中打開疑似存在注入的頁面并提交post請求,此時在Macro Recorder中可以看到請求頁面和提交請求的url及自動探測出的參數(shù);
6、按ctrl鍵分別選中需要的請求,然后點(diǎn)擊OK,將其添加到Macro Editor中;
7、選中Get請求并Configure item打開配置界面,手動添加response中的參數(shù)(csrf token)并點(diǎn)OK;
7、選中Post請求并Configure item打開配置界面,將csrf token的值設(shè)為Response1,及Get請求的相應(yīng)中選中的參數(shù);
8、一路點(diǎn)擊OK,就配置好了;
9、運(yùn)行sqlmap,輸入正常注入語句,增加代理選項(xiàng)--proxy="http://127.0.0.1:8080"后執(zhí)行;
10、可以在burpsuite中的的proxy選項(xiàng)卡中的history項(xiàng)中看到注入執(zhí)行過程,如果頁面響應(yīng)都正確,則說明以上配置有效且成功。
解決過程中有幾個問題記錄下:
1、谷歌 搜索關(guān)鍵詞:sqlmap CSRF protection bypass,參考了一些資料,介紹說sqlmap可以識別一些csrf token然后處理,不過測試時候沒有發(fā)現(xiàn);
2、之后才看到有一個人利用burpsuite進(jìn)行處理的方法(上述的英文鏈接);
3、你懂的,看懂英文和理解起來還是有些差距的,加上作者沒有非常詳細(xì)的介紹,我自己測試很久都不行。最后才發(fā)現(xiàn)不需要關(guān)注同樣變化的cookie,只需要關(guān)注csrf token即可,因?yàn)閎urpsuite自帶的cookie jar 可以處理變化的cookie。
轉(zhuǎn)載于:https://www.cnblogs.com/demonspider/p/3194685.html
總結(jié)
以上是生活随笔為你收集整理的利用sqlmap和burpsuite绕过csrf token进行SQL注入 (转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python for selenium
- 下一篇: easyui和Ajax在mvc3中的权限