參考: http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
現(xiàn)象:
- 瀏覽器在登錄 網(wǎng)站A 時(shí), 通常會(huì)產(chǎn)生cookies, 以便于下次可以不需要重復(fù)登錄, 或者保持登錄.
- 這個(gè)時(shí)候, 如果瀏覽器去請(qǐng)求了一個(gè) 危險(xiǎn)的網(wǎng)站B, B網(wǎng)站的頁(yè)面里, 可能是一個(gè)往 網(wǎng)站A發(fā)送 轉(zhuǎn)賬操作(比如把你的銀行卡里1000元轉(zhuǎn)到什么地方) 的請(qǐng)求, 請(qǐng)求的同時(shí)也會(huì)帶上cookies, 這樣就算是一次CSRF(挾制用戶在當(dāng)前已登錄的Web應(yīng)用程序上執(zhí)行非本意的操作的攻擊方法)
- 錢沒了
解決方法:
- 服務(wù)器在給瀏覽器發(fā)送 轉(zhuǎn)賬操作 頁(yè)面時(shí),會(huì)附帶一個(gè)隨機(jī)數(shù), 在發(fā)送轉(zhuǎn)賬操作請(qǐng)求時(shí), 必須帶上這個(gè)隨機(jī)數(shù), 驗(yàn)證成功后, 才能正確執(zhí)行轉(zhuǎn)賬操作, 此時(shí), 危險(xiǎn)網(wǎng)站B因?yàn)闊o法得到那個(gè)隨機(jī)數(shù), 所以無法完成轉(zhuǎn)賬請(qǐng)求(其實(shí)稍微努力一下, 還是可以破解的)