命令注入
什么是命令注入:
命令注入就是在需要输入数据的地方输入了恶意代码(简单病毒)、查看信息代码,而且系统并没有对其进行过滤或者其他处理导致恶意代码也被执行,最终导致数据泄露或者正常数据被破坏。
攻击者利用命令注入漏洞的常见方式之一是通过在用户输入中注入特殊字符或命令分隔符(如分号、管道符、与操作符),从而欺骗应用程序将恶意命令附加到正常的系统命令中执行。
常用到的命令:(总结来说就是系统操作命令DOS命令都可以在此执行试试)
ipconfig,net user(查看系统用户),dir(查看当前目录),find(查找包含指定字符的行),whoami(查看系统当前有效用户名)A&B(简单的拼接,AB之间无制约关系),A&&B(A执行成功才会执行B),A|B(A的输出作为B的输入),A||B(A执行失败,然后才会执行B)
low等级
low等级的代码中不包含信息过滤(黑名单)
- 在文本框中输入127.0.0.1出现乱码
- 找到DVWA-master\dvwa\includes目录下找到dvwaPage.inc.php文件将文件中所有的"charset=utf-8"修改为"charset=gb2312‘,
- 查IP:127.0.0.1&ipconfig
- 查用户:127.0.0.1|net user
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SlZFEMhJ-1692413891828)(https://gitee.com/JIe1207/img/raw/master/img/202308191051166.png)]
- 查看系统信息:127.0.0.1&systeminfo
- 查看目录
medium等级
medium等级中添加了黑名单,‘&&’,';'不可使用
- 查看IP:127.0.0.1&ipconfig,因为代码中只隔离了’&&‘符号并没有隔离’&‘符,所以’&'符可使
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0mIKLK4r-1692413891832)(https://gitee.com/JIe1207/img/raw/master/img/202308191051244.png)]
- 查看进程情况:127.0.0.1&tasklist
- 查看端口情况:127.0.0.1&netstat -ano
high等级
high等级代码中基本将所有分隔符进行过滤,加入黑名单。
在代码中可看到’| ‘的’|‘后有一个空格,所以在添加分隔符时可以使用’|‘后不要跟空格,或者’||'前后添加空格
- 查看系统情况:127.0.0.1空格 ‘||’ 空格systeminfo
- 查看用户:127.0.0.1空格 ‘||’ 空格net user
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjryayqT-1692413891834)(https://gitee.com/JIe1207/img/raw/master/img/202308191052135.png)]
- 查看进程:127.0.0.1空格 ‘||’ 空格tasklist
- 查看当前用户:127.0.0.1空格 ‘||’ 空格whoami