Web安全

  • CSRF:跨站请求伪造
  • XSS :跨域脚本攻击

CSRF

  1. CSRF,通常称为跨站请求伪造,英文名Cross-site request forgery缩写CSRF


    CSRF攻击原理
  2. 攻击原理:在B网站引诱用户访问A网站(用户之前登陆过A网站,浏览器cookie缓存了身份验证信息),调用A网站的接口攻击A网站。
    必要条件:在A站登录过;A站接口有漏洞

  3. 防御措施:
    (1)token验证:登陆成功后服务器下发token令牌存到用户本地,再次访问时要主动发送token,浏览器只能主动发cookie,做不到主动发token
    (2)referer验证:判断页面来源是否自己站点的页面,不是不执行请求
    (3)隐藏令牌: 令牌放在http header头中,而不是链接中

XSS

反射型XSS
存储型XSS
  1. XSS:跨域脚本攻击(cross-site scripting)
  2. 不需要登陆认证,向你的页面通过合法渠道注入脚本(如onerror)
  3. 防御:令XSS无法执行(编码,过滤,校正)
  • 编码:(不能对用户的所有输入保持原样,需要编码)对用户输入的数据进行HTML Entity编码;(ajax获取到后台发过来的数据,先反转义unescape,获取到DOM标签,然后对DOM内容进行解析校正HTMLParse,然后过滤
  • 过滤:(我们不能原样显示用户的任何输入,需要过滤)移除用户上传的DOM属性,如onerror等;移除用户上传的Style节点、Script节点、link节点、Iframe节点、frame节点、img节点等
  • 校正:避免直接对HTML Entity解码;使用DOM Parse转换,校正不配对的DOM标签

CSRF与XSS的区别:

CSRF需要用户登录,利用网站自己的接口漏洞进行攻击
XSS通过注入脚本执行自己的代码

关于html的a标签的target="__blank "的安全漏洞问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容