DVWA_Command_Injection(命令注入)-WP

发布时间 2023-06-29 14:17:10作者: 夜梓月

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

漏洞分析

没有进行任何过滤
image
image

测试

先ping一下本地地址
image

注入命令

后注入windows命令

点击查看payload
127.0.0.1 | ipconfig

image

medium

漏洞分析

low级别没有进行任何过滤 相比medium级别 将&&与;替换成了空字符 但依旧存在漏洞
可以用& | 或者使用 &;&(因为将;替换成空字符后就变成了&&)
image

image

测试

依旧是ping本地地址
image

注入命令

点击查看payload
payload-1
127.0.0.1&ipconfig

payload-2
127.0.0.1&;&ipconfig

image

image

high

漏洞分析

观察high级别代码 可以看到 过滤了绝大多数的字符 但是认真观察会发现 过滤掉了 管道符加空格 所以依旧可以通过 使用管道符执行命令
image

注入命令

点击查看payload
payload
127.0.0.1|ipconfig

impossible

源码分析

增加token验证,使用分隔符分隔ip,检查输入的是否为数字,所以不存在命令注入漏洞
image