DVWA_Command_Injection(命令注入)-WP
Command Injection
漏洞定义
用户可以执行恶意代码语句,在实战中危害比较高,也称作命令执行,一般属于高危漏洞
| 命令管道符
格式:第一条命令 | 第二条命令 || 第三条命令...]
将第一条命令的结果作为第二条命令的参数来使用
ps -aux | grep "ssh"
& 组合命令
语法:第一条命令 & 第二条命令 [& 第三条命令...]
&、&&、||为组合命令,顾名思义,就是可以把多个命令组合起来当一个命令来执行。这在批处理脚本里是
允许的,而且用的非常广泛。因为批处理认行不认命令数目。
这个符号允许在一行中使用 2 个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。
这里&两边的命令是顺序执行的,从前往后执行。
kali更新代码:apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get autoremove -y && apt-get autoclean -y
&& 组合命令
语法:第一条命令 && 第二条命令 [&& 第三条命令...]
用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则
一直执行完所有命令
这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行
|| 组合命令
语法:第一条命令 || 第二条命令 [|| 第三条命令...]
用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令,当碰到执行正确的命令后将不 执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;
提示:组合命令和重定向命令一起使用必须注意优先级 管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令
low
漏洞分析
没有进行任何过滤
测试
先ping一下本地地址
注入命令
后注入windows命令
点击查看payload
127.0.0.1 | ipconfig
medium
漏洞分析
low级别没有进行任何过滤 相比medium级别 将&&与;替换成了空字符 但依旧存在漏洞
可以用& | 或者使用 &;&(因为将;替换成空字符后就变成了&&)
测试
依旧是ping本地地址
注入命令
点击查看payload
payload-1
127.0.0.1&ipconfig
payload-2
127.0.0.1&;&ipconfig
high
漏洞分析
观察high级别代码 可以看到 过滤了绝大多数的字符 但是认真观察会发现 过滤掉了 管道符加空格 所以依旧可以通过 使用管道符执行命令
注入命令
点击查看payload
payload
127.0.0.1|ipconfig
impossible
源码分析
增加token验证,使用分隔符分隔ip,检查输入的是否为数字,所以不存在命令注入漏洞