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