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