CSRF(Cross Site Request Forgery)跨站點(diǎn)請(qǐng)求偽造。
CSRF的本質(zhì)是當(dāng)重要操作的參數(shù)都能被攻擊者預(yù)測(cè)到,才能成功偽造請(qǐng)求。
一、場(chǎng)景演示
下圖是一個(gè)偽造請(qǐng)求的場(chǎng)景,按順序來看;
1、2是正常登陸并產(chǎn)生Cookie,3、4是在登陸后訪問駭客的網(wǎng)站并發(fā)請(qǐng)求,5是服務(wù)器執(zhí)行駭客發(fā)出的請(qǐng)求。
這個(gè)場(chǎng)景的關(guān)鍵就是帶上Cookie偽造請(qǐng)求。
1)瀏覽器中的Cookie
瀏覽器有“Session Cookie”(臨時(shí)Cookie)和“Third-party Cookie”(本地Cookie);
前者瀏覽器關(guān)閉后就失效了,后者指定了Expire時(shí)間,只有超過了時(shí)間才會(huì)失效。
默認(rèn)會(huì)攔截“Third-party Cookie”的有IE6、IE7、IE8、Safari;
不會(huì)攔截的有Firefox、Opera、Chrome等,我就驗(yàn)證了Firefox、Chrome、以及IE8。
2)驗(yàn)證瀏覽器的支持
設(shè)計(jì)兩個(gè)域名“www.normal.net”(正常的網(wǎng)站)和“www.csrf.net”(偽造的網(wǎng)站)
1. 訪問“www.normal.net/cookie.php”頁面,在cookie.php中設(shè)