«

DVWA Command Injection 命令行注入分析与利用

作者:myluzh 分类: NOTES 长度:1424 阅读:1099


关于命令连接符介绍:

command1 && command2   先执行command1后执行command2
command1 | command2    只执行command2
command1 & command2    先执行command2后执行command1

以上三种连接符在windows和linux环境下都支持


LOW级别:

没有对任何进行过滤直接 192.168.1.1&&dir 成功执行
点击查看原图

Medium级别:

再次提交192.168.1.1&&dir提示:"Ping 请求找不到主机 192.168.1.1dir。请检查该名称,然后重试。"也就是我们的"&&"符号被过滤掉了,那就试试单个符号&,192.168.1.1&dir,成功执行
下面是部分代码:查看代码可以发现,这里只把&&根;替换成空,但是没有过滤掉&

$substitutions = array( 
    '&&' => '', 
    ';'  => '', 
);

点击查看原图

High级别:

192.168.1.1|dir 执行成功
下面是部分代码:查看代码可以发现,这里过滤掉的就比较多了,但是"| "后面有个空格导致"|"并没有被过滤掉。

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

点击查看原图

Impossible级别:

过滤的很严格,对接受字符也进行了限制,不可能完成注入。


正文到此结束
版权声明:若无特殊注明,本文皆为 Myluzh Blog 原创,转载请保留文章出处。
文章内容:https://itho.cn/notes/16.html
文章标题:《DVWA Command Injection 命令行注入分析与利用