CSRF(跨站請求偽造)介紹及防范方法Origami 發(fā)表于 2008-02-22 – 12:53 amCSRF(跨站請求偽造)全稱:Cross Site Request Forgery. CSRF利用方式比較類似XSS(跨站腳本 Cross Site Scripting) ,不過不同的是CSRF是構(gòu)造一個提交來讓其他人訪問后,利用站點(diǎn)對這些人的信任來進(jìn)行一些所期望的操作. 比如:A和B在同一個有XSS漏洞的站點(diǎn)C,B登錄過D站點(diǎn),并且有這個D站點(diǎn)的Cookies,這時候如果A構(gòu)造一個CSRF,內(nèi)容為給 A在D站點(diǎn)的賬戶轉(zhuǎn)移一些虛擬幣,如果這時候在C站點(diǎn)瀏覽的B用戶打開了A構(gòu)造的含有CSRF的頁面,這時候B的D站點(diǎn)用戶會因?yàn)閷用戶的信任而進(jìn)行給 A轉(zhuǎn)賬的操作. 防范CSRF只有從程序員本身入手, Origami的方法是用戶登錄后產(chǎn)生隨機(jī)Session并賦值給頁面中的某個Hidden標(biāo)簽,提交表單時候同時提交這個Hidden標(biāo)簽并驗(yàn)證,驗(yàn)證后銷毀標(biāo)簽,只要用戶不離開頁面就不停產(chǎn)生隨機(jī)Session賦值給Hidden標(biāo)簽< /p> |
|