美文网首页
前端安全

前端安全

作者: 李秀成 | 来源:发表于2020-08-13 16:23 被阅读0次
    • XSS
         XSS攻击全称跨站脚本攻击,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
         常见的 XSS 攻击有三种:
            DOM-based 型、反射型、存储型。
            反射型、DOM-based 型可以归类为非持久型 XSS 攻击。
            存储型归类为持久型 XSS 攻击。

          DOM-based 型:利用dom本身的缺陷,进行攻击
          <img src="{{img.src}}">
          //返回的 img.src=/xxxx" onerror=xxx"
          //这样放到img的src中就成了这样<img src="/xxx" &#160; &#160;&#160; &#160;onerror=xxx">
          //src肯定会加载失败,然后执行了onerror中注入的恶意代码,达到攻击效果

          反射型:恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。

          存储型:前端页面中表单提交的数据存在恶意代码被保>       DOM-based 型:利用dom本身的缺陷,进行攻击
          有这样一个url:http:xxxxx.con?name=xxx(xxx是恶意代码)
          //传到后端的参数name 被后端接收之后,响应的页面包含name这个变量的,会把这个name的内容注入到页面上面,达到攻击的效果

    • 防范措施
         X-XSS-Protection头 (现代浏览器的防范措施)
         过滤:对用户的输入进行过滤,移除用户输入的Style节点、Script节点、Iframe节点
         编码:HTML Entity 编码
         将重要的cookie 设置成http only 这样就不能通过js获取到该cookie了

    • CSRF(跨站请求伪造)
      利用网站漏洞非法获取被攻击网站的cookie等信息
    • 防范措施
         使用token:每次求情携带token进行有效验证
         Referer 验证:只接受本站的请求,服务器才做响应;如果不是,就拦截

    • SQL 注入
         接收的参数可以使用字符串拼接的方式插入到SQL查询中
    • 防范措施
         验证输入类型:比如某个视图函数接收整形id来查询,那么就在URL规则中限制URL变量为整型
         参数化查询
         参数化查询:比如引号、分号和横线等。使用参数化查询时,各种接口库会为我们做转义工作

    • 点击劫持
         点击劫持就是利用视觉欺骗用户将一个危险网站设置透明,然后在其上方设置一个按钮,当你点击这个按钮的时候,就触发底部透明的危险网站的事件,从而欺骗用户点击一个按钮或者输入一个值。或者是将一个网站通过iframe进来,通过透明度设置不可见,诱导用户点击可见的一个按钮触发事件达到自己的一个目的等
    • 防范措施
         csp(Content-Security-Policy)
         设置http响应头 x-Frame-Options
         使用window.self和window.top判断
            window.self返回一个指向当前window的一个引用
            window.top 返回窗口体系中最顶层窗口的引用

    相关文章

      网友评论

          本文标题:前端安全

          本文链接:https://www.haomeiwen.com/subject/ylobdktx.html