DVWA通关之命令注入(command injection)
难度等级:low
过关思路
我们先将其难度设置为
low
,看到其界面如下:

通过分析得知,该功能是输入一个
IP地址
,然后通过ping
进行测试,先输入127.0.0.1
和www.baidu.com
测试如下:
127.0.0.1

www.baidu.com

可以看到,IP地址和域名都是能够ping通的,接下来就是使用
命令拼接
测试了,
输入127.0.0.1 | whoami

命令注入成功。
命令汇总,经过测试,以下命令均可注入成功。
127.0.0.1|whoami
127.0.0.1&whoami
127.0.0.1000 || whoami
127.0.0.1 && whoami
注意:
有空格和无空格有时会有意想不到的效果做完了当然得看一下源码:

可以看到,该代码没有对用户的输入做任何的过滤,直接使用shell_exec函数
执行用户输入,这是非常危险的。
难度等级:medium
过关思路
这里过关思路和low一致,也没啥可说的,我们主要看一下源码就行。
源代码如下:

通过分析,可以看出,medium
关卡比low
关卡多了一个黑名单
。其通过数组的方式将&&
和;
进行了过滤,即将其替换为空
。但是,这种过滤基本上还是跟没有过滤差不多,因为黑名单里的过滤太少了,黑名单也不安全。
难度等级:high
过关思路
上手先测试几个前面的payload,发下好多都被过滤了,但是还有几个可以用:
127.0.0.1 || whoami
127.0.0.1|whoami
127.0.0.1000||whoami

我们直接看源代码:

可以看到,这次的黑名单过滤明显的多了起来,但是也发现(可能是故意给我们漏出来的
赞 (0)