zoukankan      html  css  js  c++  java
  • xss实例-什么都没过滤的情况

    1. XSS的存在,一定是伴随着输入,与输出2个概念的。



    2. 要想过滤掉XSS,你可以在输入层面过滤,也可以在输出层面过滤。



    3. 如果输入和输出都没过滤。 那么漏洞将是显而易见的。



    4. 作为第一个最基础的例子, 我们拿出的是一个什么都没过滤(其实还是有些转义的,主要没过滤< , >)的例子。 这种例子出现在腾讯这种大网站的概率不是很高。 但是还是让我找到了一个。



    5. http://app.data.qq.com/?umod=commentsoutlet&act=count&siteid=3&libid=9&dataid=1480&score=1&func=haoping&_=1353475261886



    6. 对于上面这个例子。我们可以看到什么是输入,什么是输出。

    7. 经过测试,我们发现,score这个【输入】参数,没有进行任何过滤, 



    即,输入是什么,输出就是什么? 通俗点就是“吃什么,拉什么”。。。



    如下图:

    网页中看到的效果如下:

    8. 既然可以直接输入 < > HTML标签,接下来的利用也就相对简单了。



    http://app.data.qq.com/?umod=commentsoutlet&act=count&siteid=3&libid=9&dataid=1480&score=<img src=1 onerror=alert(1);>&func=haoping&_=1353475261886





    效果如下:

     

    修复方案:

    这种XSS属于最基本的一类XSS,也最好防御。。



    它的模型是:



    <HTML标签></HTML标签>

    [输出]

    <HTML标签></HTML标签>







    <HTML标签>[输出]</HTML标签>





    a. 通常,我们只需要在输出前,将 < , > 过滤掉即可。



    b. 这类XSS在小型网站中比较常见,在大型网站中少见。 



    c. 这类XSS通常都被浏览器的XSS过滤器秒杀了,所以一般来说,威力较小。



    d. 对于普通用户来说,请使用IE8及以上版本(并开启XSS过滤器功能,默认开启),或chrome浏览器,将可以防御大部分此种类型的XSS攻击。

  • 相关阅读:
    view 的继承关系
    dos 下小tip
    Required diagnostic data collection for RMAN backup
    数据库应用设计设计报告
    程序 从存储卡 内存卡 迁移到 SD卡
    c++ 参赛设置
    c++ 用构造函数
    Ip
    error C3872: “0x3000”: 此字符不允许在标识符中使用
    机器字长 32位与64位的区别
  • 原文地址:https://www.cnblogs.com/milantgh/p/3603640.html
Copyright © 2011-2022 走看看