上半年就說要寫怎么挖csrf漏洞了,主要是懶....后面就忘記寫了。今天正好有人問到,索性就寫一篇文章出來
0x00前言
上半年就說要寫怎么挖csrf漏洞了,主要是懶....后面就忘記寫了。今天正好有人問到,索性就寫一篇文章出來
0x01 什么是CSRF
跨站請(qǐng)求偽造(英語:Cross-site request forgery),也被稱為 one-click attack 或者 sessionriding,通??s寫為 CSRF 或者 XSRF,是一種挾制用戶在當(dāng)前已登錄的Web應(yīng)用程序上執(zhí)行非本意的操作的攻擊方法。跟跨網(wǎng)站腳本(XSS)相比,XSS利用的是用戶對(duì)指定網(wǎng)站的信任,CSRF 利用的是網(wǎng)站對(duì)用戶網(wǎng)頁瀏覽器的信任。
0x02怎么挖掘
第一個(gè)就是看網(wǎng)站是否存在token,如果存在token的話,可以測(cè)試一下這個(gè)token是不是擺設(shè)(還真遇到過)。如果不是擺設(shè)的話,我們還可以去查找是否有接口能夠獲取到token。如果有的話這個(gè)token就相當(dāng)于可有可無了。第二個(gè),看完token我們可以嘗試一下刪除Referer了,如果刪除Referer后,該數(shù)據(jù)包仍然能夠執(zhí)行的話,十有八九這里就存在著漏洞了。如果刪除Referer不能正常發(fā)送的話,也不用放棄。可以先嘗試把POST數(shù)據(jù)包改成GET數(shù)據(jù)包(看看能不能正常執(zhí)行)。然后就可以去嘗試找xss漏洞來包含這個(gè)get請(qǐng)求,從而也能達(dá)到csrf的效果,或者如果有發(fā)表文章之類的地方。在加載圖片鏈接等的地方也可以嘗試把get請(qǐng)求放進(jìn)去。這樣就形成了蠕蟲啦~
(資料圖片)
0X03挖掘過程
今天我們拿帝國cms來演示一下具體怎么挖掘。我們需要,倆個(gè)瀏覽器+倆個(gè)賬號(hào)+burpsuite。
抓個(gè)包,發(fā)現(xiàn)這里沒用token限制,那我們刪除下Referer試試。
OKK,正常執(zhí)行了。接下來我們利用burp生成個(gè)CSRF的POC
保存到本地生成個(gè)poc。接下來換個(gè)賬號(hào)和瀏覽器登入
然后點(diǎn)擊下poc
成功?。?!
當(dāng)然,在這個(gè)時(shí)候肯定就有朋友想到了。這怎么還需要點(diǎn)擊???有沒有辦法讓人家打開url后自動(dòng)發(fā)送數(shù)據(jù)包且讓其他人沒有察覺?of course,當(dāng)然有。我們可以利用js去自動(dòng)點(diǎn)擊。我們需要魔改一下burp的poc。這里我們用到了倆個(gè)網(wǎng)頁(一個(gè)頁面的話還是會(huì)自動(dòng)跳轉(zhuǎn)就很容易被發(fā)現(xiàn)了。),欺騙網(wǎng)頁來包含發(fā)送數(shù)據(jù)包的網(wǎng)頁-index.html(用來欺騙的)-yx666.html(用來發(fā)送數(shù)據(jù)包的)
index.html是我下載了百度搜索的頁面,然后加上紅框中的那句話就能包含了為了演示效果我把width=0% height=0%改成width=100% height=100% (0%的話就可以完美隱藏了)
0x04文末
唔,太簡單了(本文在本地復(fù)現(xiàn),請(qǐng)各位不要做非法測(cè)試~~~)
關(guān)鍵詞: