web安全(xss攻击和csrf攻击)

1、CSRF攻击:

  CSRF(Cross-site request forgery):跨站请求伪造。

  (1)、攻击原理:

  如上图,在B网站引诱用户访问A网站(用户之前登录过A网站,浏览器 cookie 缓存了身份验证信息),

通过调用A网站的接口攻击A网站。

  (2)、防御措施:

  1)token验证:登陆成功后服务器下发token令牌存到用户本地,再次访问时要主动发送token,浏览器只能主动发cookie,做不到主动发token

  2)referer验证:判断页面来源是否自己站点的页面,不是不执行请求

  3)隐藏令牌: 令牌放在http header头中,而不是链接中

2、XSS 攻击:

  XSS(Cross Site Scripting):跨域脚本攻击。

  (1)、攻击原理:

  不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。

  (2)、防御措施:

  令xss无法攻击,比如对注入的东西进行转义、编码、过滤、校正等。

3、区别:  

  CSRF:需要用户先登录网站A,获取 cookie。XSS:不需要登录。

  CSRF:是利用网站A本身的漏洞,去请求网站A的api。XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。

猜你喜欢

转载自www.cnblogs.com/tg666/p/12305805.html