您好,登錄后才能下訂單哦!
如何使用Python CGIHTTPServer繞過注入時(shí)的CSRF Token防御,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
CSRF tokens是服務(wù)器生成的一串隨機(jī)值,其主要作用是防止表單重復(fù)提交以及請求偽造攻擊。由于該生成值具有隨機(jī)性,一次性,并且是基于服務(wù)器端的前一個(gè)請求生成的,因此黑客幾乎不可能偽造它。
雖說無法偽造,但并不代表我們就不能繞過它。這里,不得不提及一款web滲透神器Burp
Suite。在Burp上有多種配置其使用宏來繞過HTML表單上CSRF tokens的方法,例如我們可以使用Burp Active
Scans,Burp Intruder,Burp Repeater,甚至Burp
Proxy。還有專門用于Intruder模塊的Grep-Extract和pitchfork攻擊類型。如果你還覺得不夠,Burp完美的擴(kuò)展性支持你開發(fā)自己的Burp插件。
除了Burp外,另一款神器Sqlmap也為我們提供了類似的功能。Sqlmap中有一個(gè)–csrf-token和–csrf-url參數(shù),可用于繞過CSRF tokens?;蛘吣阋部梢韵裎覄傉f的那樣,配置Burp使用–proxy通過Burp運(yùn)行sqlmap。
但今天我要介紹另一種繞過方法,即使用Python CGIHTTPServer。
我的測試環(huán)境是一個(gè)簡單的PHP+mysql,我可以登錄并訪問受限區(qū)域。我在這里上傳了PHP代碼,你可以下載進(jìn)行測試。代碼可能寫的并不完美,但用于測試目的應(yīng)該問題不大。
CSRF tokens是隨機(jī)生成的數(shù)字的SHA256哈希值,并且每個(gè)HTTP請求的哈希值都不同。
因此,如果不對Burp進(jìn)行針對性的配置,它將無法檢測到該問題的存在。
sqlmap也同樣。
我使用–technique,–dbms和-p選項(xiàng)來加速掃描。由于這只是一個(gè)簡單的基于布爾的SQLi,因此–level
1(默認(rèn)值)就足夠了。但是,如果憑據(jù)不正確的話,則必須將–risk設(shè)置為3才行。因?yàn)橹挥酗L(fēng)險(xiǎn)等級為3的情況下,基于布爾的SQLi才能被檢測到。基于布爾的SQLi是非常危險(xiǎn)的,因?yàn)樗鼈兛梢允谷魏螚l件為真。例如當(dāng)UPDATE或DELETE語句的WHERE子句存在這種注入,攻擊者就可以實(shí)現(xiàn)更改數(shù)據(jù)庫中用戶密碼,轉(zhuǎn)儲憑據(jù)等。
這里,我使用sqlmap的SQLi –csrf-token =“mytoken”選項(xiàng),檢測到了一個(gè)基于OR的SQLi:
這是一個(gè)登錄驗(yàn)證表單,顯然這里是一個(gè)SELECT語句,這意味著風(fēng)險(xiǎn)等級3沒有危害。
當(dāng)然,如果你有有效憑據(jù),它還容易受到基于AND的SQLi攻擊。但即使我擁有有效憑據(jù),我也會先用另一個(gè)(有效)用戶名來進(jìn)行測試,先找到基于OR的SQLi。這樣做可以避免賬戶被以外的鎖定。
此外,使用sqlmap的SQLi –csrf-token =“mytoken”選項(xiàng),我還檢測到了一個(gè)基于AND的SQLi:
首先,我們來創(chuàng)建CGI腳本:
這個(gè)腳本需要?jiǎng)?chuàng)建在folder_whatever/cgi-bin/目錄中。我們將其稱為mask.py,并確保其是可執(zhí)行的。創(chuàng)建完成后,我們從“folder_whatever”目錄中運(yùn)行“python
-m CGIHTTPServer”。默認(rèn)情況下,它將偵聽8000/tcp端口。
你可以使用正確的密碼對其進(jìn)行測試:
以及使用一個(gè)錯(cuò)誤密碼:
現(xiàn)在,我們無需對Burp和sqlmap進(jìn)行特定配置,就能輕松的檢測到安全漏洞。
看完上述內(nèi)容,你們掌握如何使用Python CGIHTTPServer繞過注入時(shí)的CSRF Token防御的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。