CSRF攻击
浅谈CSRF攻击##
举个栗子:
一个潜伏这个CSRF漏洞的网站:www.admin.com
提供登录用户的操作:/POST /send/100/acceptid/123
当用户访问第三方网站,这个网站有一个重定向请求: www.admin.com /POST /send/1000000/acceptid/233 (233代表黑客用户ID)
结果:
当用户点击这个链接,用户发现自己的账户金币不翼而飞。
原理:利用cookie认证进行攻击操作。
解决办法:
验证HTTP_REFERER (这个可以伪造)
加token请求:表单隐藏一个token。
token的原理:验证$_SESSION或者$_COOKIE中的token是否和表单提交生成的 token一致。(放到$_COOKIE我个人认为是可行的,不过一般的框架都是放到session里面)
token结构随意,但是要注意每次表单刷新都要生成不同的token