跨站点请求伪造(Cross-Site Request Forgery),CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,
以用户身份在攻击页面对目标网站发起伪造用户操作的请求,如恶意发帖、修改密码、发邮件等,达到攻击目的。
CSRF有别于XSS,从攻击效果上,两者有重合的地方。从技术原理上,两者有本质的不同,
XSS是正常用户请求的HTML页面中执行了黑客提供的恶意代码;
CSRF是黑客直接盗用用户浏览器中的登录信息,冒充用户去执行黑客指定的操作。
XSS问题出在用户数据没有过滤、转义;CSRF问题出在HTTP接口没有防范不受信任的调用。
防范 1.CSRF Token验证 利用浏览器的同源限制,在HTTP接口执行前验证页面或者Cookie中设置的Token,只有验证通过才继续执行请求 2.人机交互 比如在调用上述网上银行转账接口时,校验短信验证码