浅谈xss

2019-11-22  本文已影响0人  北方_f6b4

1.xss是什么:跨站脚本攻击(Cross Site Scripting) a.通过恶意的script脚本获取用户信息或进
                    行攻击   b.影响范围主要在客户端

2.集中常见的xss:1 存储式(通过存储到数据库中进行攻击)

                                     通过输入恶意脚本,存储在服务端,在每次调用数据库的时候,将数据
                                   呈现在客户端,这种攻击会一直存在,可以用于盗取用户信息

                                2 反射式(依靠站点服务端返回脚本,在客户端触发执行从而发起web攻
                                  击) 例如:通过构造url,或者构造相应的表单数据,盗取对应的数据。

                              3 基于dom的xss,客户端本身对脚本的解析不正确导致

3 xss同csrf之间的区别

     CSRF的定义 ◦Cross-site request forgery 跨站请求伪造

        ◦服务端信任用户的请求,通过伪装为信任的用户进行对服务端进行攻击

     区别

         ◦Xss为客户端信任服务端,允许服务端的任何信息进行允许

         ◦CSRF则为服务端信任客户端,没有对用户信息进行校验

           ◦Xss主要集中于html标签以及js脚本,对客户端进行破坏

           ◦CSRF主要侧重于跨站,伪造获取服务端信息

4 xss攻击出现的原因

               1 浏览器对html本身的解析方式造成的

              2  HTML特性决定◦可以执行脚本的地方太多,比如onclick事件,html标签属性

5 xss攻击示例  

   输入框中直接输入恶意脚本

      ◦比如:<script>alert(document.cookie)</script>

     输入框中输入html标签,在标签中嵌套恶意脚本

   ◦比如<IMGSRC="javascript:alert('XSS');">;

      将脚本注入到event事件中,如click

     ◦<a onclick="alert(document.cookie)">xxslink</a>

       Meta标签◦<META HTTP-EQUIV="Set-Cookie"Content="USERID=<SCRIPT>alert('XSS')</SCRIPT>">

6 后端框架处理xss攻击

    6.1:原则 不要相信任何用户的直接输入或者间接输入。

   6.2:方式:对输入的内容进行转码      对输入的内容进行过滤(比较常用) 常用实现:https://blog.csdn.net/kouwoo/article/details/41946683

上一篇 下一篇

猜你喜欢

热点阅读