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