您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页DVWA XSS(reflect)

DVWA XSS(reflect)

来源:伴沃教育

前置知识:

        1.XSS:攻击者向网站注入恶意代码。发生在无验证和编码的用户输入的地方,通过输入来输出一些敏感信息。

LOW:

前置知识:

        1.array_key_exists() 函数:检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false

        2.document.cookie:设置或返回与当前文档有关的所有 cookie

writeup:

        1.目标是获取登入用户的cookie,查看源码,没有任何过滤,直接输出输入的内容

<?php

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Feedback for end user
    echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}

?> 

            2.尝试输入"<script>alert(document.cookie);</script>",获取成功    

Medium:

writeup:

        1.查看源码,代码将"<script>"替换成了"" 

<?php

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = str_replace( '<script>', '', $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

?> 

        2.尝试双写绕过,构造"<scr<script>ipt>alert(document.cookie)</script>",成功获取cookie

        3.当然也可以大小写绕过

 

High

前置知识:

        1.preg_replace函数

        2.正则表达式:、
 

        3.只是过滤了script标签,但是有一些javascript事件后仍然能执行javascript代码 

        4.onerror 事件在加载外部文件(文档或图像)发生错误时触发。 

writeup:

        1.查看源码,代码将"<script"的任何字段进行了替换。

<?php

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

?> 

         2.构造<img src=aaa οnerrοr=alert(document.cookie);>,获取成功 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务