• DVWA靶场(八、反射XSS)


    一、XSS介绍

    XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其他脚本语言。根据恶意代码是否存储在服务器中,XSS可以分为存储型的XSS和反射型的XSS。
    DOM型的XSS由于其特殊性,常常被分为第三种,这是一种基于DOM树的XSS。例如服务器端经常使用document boby innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型的XSS可能是存储型,也有可能是反射型。

    二、反射XSS(low)

    2.1、代码分析,header函数表示禁用xss保护

    <?php
    
    header ("X-XSS-Protection: 0"); //禁用xss保护
    
    // Is there any input?
    if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
        // Feedback for end user
        echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
    }
    
    ?> 
    

    2.2、输入,出现弹框,存在XSS

    三、反射XSS(medium)

    3.1、代码分析,通过str_replace()进行过滤,将<script>替换为空

    通过大小写绕过,提交,显示弹框

    四、反射XSS(high)

    4.1、代码分析,使用正则表达式彻底过滤script

    4.2、可以采用<img src='1' onerror=alert(/xss/)/>代替script

    五、反射XSS(impossible)

    5.1、代码分析,进行了csrf防御,另外htmlspecialchars函数把预定义的字符&、”、’、<、>转换为HTML实体,防止浏览器将其作为HTML元素。

    常见防范措施

    1、过滤用户输入
    2、使用htmlspecialchars()过滤
    3、使用owasp等安全xss处理API

  • 相关阅读:
    js中||与&&的用法
    JVM内存模型及配置参数
    Jmeter进行webSocket接口测试
    解决oracle 物化视图刷新失败
    JAVA处理链表经典问题
    openLdap安装教程
    LDAP基本概念
    深度学习正则化---dropout补充
    深度学习正则化---dropout
    深度学习正则化---集成
  • 原文地址:https://www.cnblogs.com/tonywell/p/14033550.html
Copyright © 2020-2023  润新知