博客园的CSRF
CSRF全稱 Cross Site Request Forgery,跨站請(qǐng)求偽造。通俗理解:攻擊者盜用當(dāng)前用戶身份,發(fā)請(qǐng)當(dāng)前用戶的惡意請(qǐng)求:如郵件,銀行轉(zhuǎn)賬等。?
CSRF原理?
CSRF過程?
登錄網(wǎng)站A,生成本地Cookie信息;登錄危險(xiǎn)網(wǎng)站B,B獲取網(wǎng)站A的內(nèi)容,并向A發(fā)送請(qǐng)求操作,若成功,則CSRF過程成功。其中登錄B網(wǎng)站,行為可以是點(diǎn)擊網(wǎng)站A中的鏈接鏈接。?
CSRF攻擊實(shí)踐?
1.若網(wǎng)站A通過GET方式訪問銀行(假設(shè))完成轉(zhuǎn)賬:http://www.bank.com/transfer.php?toBankId=3206&money=1000。如果是通過GET方式訪問,授權(quán)信息存儲(chǔ)在cookie中。?
2.B頁(yè)面中生成img標(biāo)簽,src設(shè)置為A頁(yè)面中的轉(zhuǎn)賬鏈接:http://www.bank.com/transfer.php?toBankId=3206&money=1000,但toBankId改成黑客的的賬號(hào),因?yàn)榈卿浶畔⒃赾ookie中,在chrome,firefox等多頁(yè)簽瀏覽器中,同域名請(qǐng)求可以帶上同域名的cookie內(nèi)容?
預(yù)防措施?
1.隨機(jī)參數(shù)?
攻擊者不能獲得第三方的Cookie(理論上),A頁(yè)面使用加密隨機(jī)參數(shù),在同一個(gè)會(huì)話范圍內(nèi)使用同一個(gè)加密隨機(jī)參數(shù),如md5("defenseSCRF" + new Date().getTime() + 3600),在第個(gè)請(qǐng)求中加入隨機(jī)參數(shù)。?
后臺(tái)校驗(yàn):getSession().get("stoken_name") == $pToken?
2.驗(yàn)證碼?
?
轉(zhuǎn)載一篇文章來(lái)湊夠200字?jǐn)?shù)~~
原文鏈接:http://haiyupeter.iteye.com/blog/1842780
?
最后:
很簡(jiǎn)單,看我粉絲數(shù)及這篇文章的推薦數(shù)就明白嘍!
嘟嘟你不禁用首頁(yè)JS就算了,總得加上token吧!
轉(zhuǎn)載于:https://www.cnblogs.com/zhaodyun/archive/2013/05/29/3105489.html
總結(jié)
- 上一篇: 求背包问题所有解(C++实现)
- 下一篇: 虚拟机下安装vmtool