美文网首页
XSS 跨站脚本攻击Cross Site Script)

XSS 跨站脚本攻击Cross Site Script)

作者: codeice | 来源:发表于2016-07-06 17:28 被阅读141次

    XSS简介

    xss就是攻击者在web页面插入恶意的Script代码,当用户浏览该页之时,嵌入其中web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。

    1. 反射型攻击

    反射型XSS只是简单的把用户输入的数据“反射”给浏览器.也就是说需要诱使用户“点击”一个恶意链接,才能攻击成功。反射型XSS也叫作“非持久型XSS”

    反射型XSS,是最常用的,使用最广的一种方式。通过给别人发送有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点:是非持久化,必须用户点击带有特定参数的链接才能引起。

    例子:假设一个页面把用户输入的参数直接输出到页面上:

    <?php $input = $_GET["param"]; echo "<div>".$input."</div>"?>
    

    正常访问
    正常访问:http://demo.com?param="hello"
    页面输出: hello
    面源代码:<div>/This is a xss test!</div>
    脚本注入攻击
    攻击访问:http://demo.com?param=<script>alert(/This is a xss test!/)</script>
    页面输出: alert函数被执行
    页面源代码:<div><script>alert(/This is a xss test!/)</script></div>

    2. 储存型XSS

    储存型XSS会把用户输入的数据“储存”在服务器端。这种XSS具有很强的稳定性
    存储型的攻击脚本被存储到了数据库或者文件中,服务端在读取了存储的内容回显了。就是存储型。这种情况下用户直接打开正常的页面就会看到被注入
    流程如下:
    坏人把恶意的XSS代码提交网站--->网站把XSS代码存储进数据库--->当页面再次被其他正常用户请求时,服务器发送已经被植入XSS代码的数据给客户端--->客户端执行XSS代码

    3.DOM Based XSS

    实际上,这种类型的XSS并非按照“数据是否保存在服务器端”来划分的,从效果上来说也是反射型XSS单独划分出来的,因为DOM Based XSS 的形成原因比较特别。这是由于客户端脚本自身解析不正确导致的安全问题。

    xss的防御

    现在的XSS如此流行,原因何在。我想大家应该都知道,就是在输入的时候没有做严格的过滤,而在输出的时候,也没有进行检查,转义,替换等
    所以防范的方法就是,不信任任何用户的输入,对每个用户的输入都做严格检查,过滤,在输出的时候,对某些特殊字符进行转义,替换等

    相关文章

      网友评论

          本文标题:XSS 跨站脚本攻击Cross Site Script)

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