Dvwa教程之命令行注入(二)

Command Injection,即命令注入,是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。PHP命令注入攻击漏洞是PHP应用程序中常见的脚本漏洞之一

用户通过浏览器提交执行命令,由于服务器端没有对执行函数进行过滤,从而造成可以执行危险命令。

命令连接符:

command1 && command2   先执行command1后执行command2

command1 | command2     只执行command2

command1 & command2    先执行command2后执行command1

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

常用的注入命令:

command1 & command2 

不管command1执行成功与否,都会执行command2(将上一个命令的输出作为下一个命令的输入)

command1 && command2 

先执行command1执行成功后才会执行command2

command1 | command2 

只执行command2

command1 || command2 

command1执行失败,再执行command2(若command1执行成功,就不再执行command2)

常用的url编码:

%20 = 空格

%5c = \

%26 = &

%7c = |

 

若Dvwa显示乱码

 

 

 则要修改   .... \WWW\DVWA-master\dvwa\dvwaPage.inc.php 这个文件把u-f8修改成gbk2312 (277行).

查看服务器源代码

low 级别

 

 

 未作任何字符串过滤,因此什么命令行都可以注入 && || & |

 

Medium 级别

 

 

 做了&&过滤 因此还可以使用& || 和|进行命令行注入

 

High 级别

 

 虽然过滤了所有字符串 但是有一个漏洞  '| ' => '', 多了一个空格 命令行注入的时候输入如 

127.0.0.1|net user
就匹配失败

Impossible 级别

 

 

用stripslashes函数和explode清理了一数据所以不存在可利用的注入命令行漏洞

 

posted on 2020-08-03 22:25  TaoTao大魔王  阅读(312)  评论(0编辑  收藏  举报