歡迎來到CSRF漏洞章節(jié)艘狭,在此挎扰,請允許作為#靈魂畫師!巢音!#的我圖文并茂的為大家簡單介紹一下CSRF漏洞:
CSRF跨站點請求偽造(Cross—Site Request Forgery)
你可以這樣來理解:
攻擊者盜用了你的身份遵倦,以你的名義發(fā)送惡意請求,對服務(wù)器來說這個請求是完全合法的官撼,
? ? ? ?但是卻完成了攻擊者所期望的一個操作梧躺,比如以你的名義發(fā)送郵件、發(fā)消息傲绣,盜取你的賬號掠哥,添加系統(tǒng)管理員,甚至于購買商品斜筐、虛擬貨幣轉(zhuǎn)賬等。?
如下:其中Web A為存在CSRF漏洞的網(wǎng)站蛀缝,Web B為攻擊者構(gòu)建的惡意網(wǎng)站顷链,User C為Web A網(wǎng)站的合法用戶。
CSRF攻擊攻擊原理及過程如下:
? ? ? ?1.?用戶C打開瀏覽器屈梁,訪問受信任網(wǎng)站A嗤练,輸入用戶名和密碼請求登錄網(wǎng)站A;
? ? ? ?2.在用戶信息通過驗證后在讶,網(wǎng)站A產(chǎn)生Cookie信息并返回給瀏覽器煞抬,此時用戶登錄網(wǎng)站A成功,可以正常發(fā)送請求到網(wǎng)站A构哺;
? ? ? ?3.?用戶未退出網(wǎng)站A之前革答,在同一瀏覽器中,打開一個TAB頁訪問網(wǎng)站B曙强;
? ? ? ?4.?網(wǎng)站B接收到用戶請求后残拐,返回一些攻擊性代碼,并發(fā)出一個請求要求訪問第三方站點A碟嘴;?
?5.?瀏覽器在接收到這些攻擊性代碼后溪食,根據(jù)網(wǎng)站B的請求,在用戶不知情的情況下攜帶Cookie信息娜扇,向網(wǎng)站A發(fā)出請求错沃。網(wǎng)站A并不知道該請求其實是由B發(fā)起的栅组,所以會根據(jù)用戶C的Cookie信息以C的權(quán)限處理該請求,導(dǎo)致來自網(wǎng)站B的惡意代碼被執(zhí)行枢析。?
在此處DWVA的CSRF漏洞中玉掸,我們可以看到重置密碼操作就是一個網(wǎng)站認(rèn)為完全合理同時也是攻擊者意圖的一個操作。
敲黑板登疗,劃重點:CSRF漏洞的判定:修改referer頭或直接刪除referer頭排截,看網(wǎng)站是否正常響應(yīng)。
此處的結(jié)論很顯然:存在CSRF漏洞辐益!
下面我們簡單探討下CSRF漏洞的利用断傲,
(我才沒有教壞大家的意思,如果你想智政,請先學(xué)好社工)
通過上述抓包我們構(gòu)造一個url认罩。生成一個網(wǎng)頁并放到網(wǎng)上用來調(diào)用,這里我放到了個人服務(wù)器上(才不會暴露的說)
<img
src="************************/vulnerabilities/csrf/?password_new=admin&password_conf=admin&Change=Change
HTTP/1.1" border="0" style="display:none;"/>
我們采用<image>標(biāo)簽來提高我們的隱蔽性续捂。
這里我放到了個人網(wǎng)站的根目錄下垦垂,直接IP/文件名執(zhí)行。
通過FTP上傳至服務(wù)器牙瓢,要學(xué)server-U構(gòu)造FTP服務(wù)器的劫拗,請網(wǎng)絡(luò)自尋資源,需要破解工具和教程的可以私信我(mark矾克,非廣告页慷,大不了后面出教程)
給你們偷看一樣,手動滑稽~
登陸DWVA胁附,當(dāng)前用戶密碼password酒繁,開new Tab,進(jìn)入我們構(gòu)造好的url~
然后回到我們的登陸界面控妻,使用舊密碼password登陸
使用新密碼admin登陸
歡迎回了州袒,CSRF漏洞利用,密碼修改成功弓候。
DWVA中此處的漏洞為get方法提交
在此我簡單講一下post方法提交時csrf漏洞的利用
步驟與get方法基本一致郎哭,只是構(gòu)造html的操作全權(quán)丟給burpsuite
(什么?為什么是灰的菇存?因為我偷懶沒抓包)
使用Generate CSRF PoC功能
burpsuite會為你生成html文件源碼
復(fù)制粘貼保存彰居,即為我們所需html文件
像上述get方法一樣上傳第三方網(wǎng)站就可以啦
在此給大家留一個我也不知道答案(對呀,我撰筷!不陈惰!會!)的討論:
burpsuite 自動生成post方法的csrf漏洞利用代碼,其中的中文編碼問題抬闯,導(dǎo)致的漏洞利用失敗井辆,
失敗情況:被服務(wù)器認(rèn)為編碼(亂碼)處存在威脅,返回報錯信息
解決方法:刪除亂碼溶握,或者替換亂碼為純數(shù)字
總結(jié):好在我的工作只是滲透測試杯缺,上述操作已經(jīng)證實了CSRF的可利用性,
但是K堋萍肆!我就是想寫中文!胀屿!怎么破L链А!
——————————————————————————————
第二次嘗試:
關(guān)于上一次的原因我已經(jīng)找到了:
大家可以看到burpsuite構(gòu)造的html在粘貼時被無情修改
這個的解決方法我問了許多大佬也沒能解決宿崭。
于是在此祭出另一款CSRF利用工具:CSRFTester
(關(guān)于它的使用方法暫不做展開講解)
當(dāng)看到這一幕就已經(jīng)涼涼了
是的亲铡,兩處中文轉(zhuǎn)碼處,涼了葡兑。奖蔓。。讹堤。
—————————————————————————————————————————————————————
第三次嘗試:
手動大法好吆鹤,是不是早就該往這里想了?
好吧洲守,我蠢疑务。。岖沛。
哈?難道服務(wù)器收到數(shù)據(jù)不解碼的暑始?
再來搭独!直接提交解碼后的數(shù)據(jù)
我去婴削!鬧哪樣!你到底解不解碼牙肝!
html轉(zhuǎn)碼唉俗,順帶說一句,這里確實是html轉(zhuǎn)碼配椭,
因為漢字“燈泡”和上面這個奇奇怪怪的html碼服務(wù)器判斷結(jié)果是一樣的
綜上:思路很清晰虫溜,結(jié)果很不友好,
從大佬們的工作經(jīng)歷中我也知道了
并不是所有的中文情況都會這樣
但確實碰到過股缸,然而都沒成功利用
當(dāng)然滲透測試工作做到這里足夠了衡楞,我前面講過了,刪除編碼即可成功驗證
然而強迫癥的我依然對這里留有遺憾
無奈自己對服務(wù)器配置和源碼開發(fā)領(lǐng)域的空白
在此我只能為此二領(lǐng)域大佬留白
歡迎提供解決方法敦姻,歡迎大家討論
---------此頁持續(xù)更新----------------