dvwa命令注入

115 阅读1分钟

@[toc]

dvwa命令注入-low

命令注入漏洞是执行系统命令的时候,对用户输入的字符未进行过滤或过滤不严格导致的。

  • 输入127.0.0.1查看输出
    在这里插入图片描述
  • 有乱码,需进入dvwa文件的includes,替换dvwaPage.inc里的utf-8为gb2321并保存
    在这里插入图片描述
  • 再次输入127.0.0.1,乱码问题解决
    在这里插入图片描述
  • 进行命令注入
    可通过管道符输入查询信息的命令
    关于所用管道符的简单解释:windows和linux管道符解释
127.0.0.1 | dir
127.0.0.1 | ipconfig
...

在这里插入图片描述

dvwa命令注入-medium

  • 代码审计
    在这里插入图片描述
    发现对IP参数进行了过滤,过滤掉了‘&&’和‘;’,但可以用其他通道符
127.0.0.1 | dir
127.0.0.1 | net user
...

dvwa命令注入-high

  • 代码审计
    在这里插入图片描述
    发现过滤了更多的字符
$substitutions = array(
        '&'  => '',
        ';'  => '',
        '| ' => '',
        '-'  => '',
        '$'  => '',
        '('  => '',
        ')'  => '',
        '`'  => '',
        '||' => '',
    );

但经观察发现所过滤的‘|’写的是‘| ’是将‘|’加一个空格过滤了,于是可以使用‘|’:

127.0.0.1|dir
127.0.0.1|net user
...

在这里插入图片描述