前端安全类

CSRF

基本概念和缩写

跨站请求伪造,Cross-site request forgery 缩写为CSRF


15469903-c843522f74e00299.jpg
CSRF攻击

也就是说如果你登陆了A网站,有session保存在浏览器,通过恶意网站B的连接你又打开了网站A并且发送了攻击者设定好的内容,导致进行了一些非你本意的操作(比如转账、发送邮件之类的)。

防御方法

  • 通过 referer、token 或者 验证码 来检测用户提交。
  • 尽量不要在页面的链接中暴露用户隐私信息。
  • 对于用户修改删除等操作最好都使用post 操作 。
  • 避免全站通用的cookie,严格设置cookie的域。

XSS

基本概念和缩写

跨域脚本攻击,Cross-site Scripting

XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制--例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的"缓冲区溢出攻击",而JavaScript是新型的"ShellCode"

反射型

发出请求时,xss代码出现在URL中,作为输入提交到服务器端,服务器端响应请求,xss代码随响应内容一起传回浏览器,最后浏览器执行xss代码


15469903-5943b66a6c28474e.jpg
反射型xss攻击

存储型

存储型跟反射型的区别只在于,提交的代码会存储在服务端,下次请求目标页面时不用再次提交XSS代码

防护措施

  • 编码
    对用户输入的数据进行HTML Entity编码
  • 过滤
    移除用户上传的DOM属性,比如onerror之类的
    移除用户上传的Style节点,Script节点,ifarme节点
  • 校正
    避免直接对HTML Entity解码
    使用DOM parse转换,校正不配对的标签

猜你喜欢

转载自blog.csdn.net/weixin_34206899/article/details/87233316