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