DVWA靶场通关-Command Injection(命令行注入)

发布时间 2023-09-17 17:10:15作者: TinKode

Brute Force(暴力(破解))、Command Injection(命令行注入)、CSRF(跨站请求伪造)、         File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA (不安全的验证码)、       SQL Injection(SQL注入)、SQL Injection(Blind)(SQL盲注)、XSS(DOM)(基于DOM树)、       XSS(Reflected)(反射型跨站脚本)、XSS(Stored)(存储型跨站脚本)

等级low

 网站提示我们输入ip地址

 尝试输入本机ip地址,127.0.0.1,点击提交,发现返回的数据和我们在cmd命令行里面执行ping 127.0.0.1的结果相似。网页端由于编码的问题所以有些是乱码

..\DVWA\dvwa\includes    目录下有个dvwaPage.ini.php文件

在文件中ctrl+f,用搜索栏查找  // Send Headers + main HTML code  这句话

Header( 'Content-Type: text/html;charset=utf-8' ); 

将UTF-8改为GBK或者GB2312即可

Header( 'Content-Type: text/html;charset=GB2312' );  

shell_exec函数能执行系统命令

命令连接符:

& :前面一个命令无论是否执行,后面的命令都能执行,两个命令都执行
&&:前面一个命令执行成功后,才能执行后面一个命令,两个命令都执行
|:前面一个命令无论是否执行,后面的命令都能执行且只执行后面一个
||:前面一个命令不能正常执行后,才能执行后面一个命令

127.0.0.1 | dir                    win命令dir

等级medium

127.0.0.1 | dir    

127.0.0.1 & dir

 等级high

源码分析:发现还是一样的套路,也是过滤字符但过滤得更多了。但仔细观察发现有一个过滤是’| ‘,注意这个过滤是加了空格的,说明这个过滤其实是没用的,只需要’|’后面直接加入参数,不保留空格,我们依然可以用这个命令连接符进行命令注入

 127.0.0.1 |dir