概述
SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种攻击者发起的伪造由服务器端发起请求的一种攻击。
<?php
if(isset($_REQUEST['url']))
{
$link = $_REQUEST['url'];
$filename = './curled/'.time().'.txt';
$curlobj = crul_init($link);
$fp = fopen($filename,"w");
curl_setopt($curlobj, CURLOPT_FILE, $fp);
curl_setopt($curlobj, CURLOPT_HEADER, 0);
curl_setopt($curlobj, CURLOPT_FOLLOWLOCATION, TRUE);
curl_exec($curlobj);
curl_close($curlobj);
fclose($fp);
$fp = fopen($filename,"r");
$result = fread($fp,filesize($filename));
fclose($fp);
echo $result;
}else{
echo "?url=[url]";
}
?>
危害
- 端口扫描
- 读取系统本地文件:?url=file://c:\windows\system32\dirvers\etc\hosts
- 内网web应用指纹识别
大多数web应用框架都有一些独特的文件和目录,通过这些文件可以识别出应用的类型,甚至详细的版本。?url=http://localhost/phpmyadmin/README - 攻击内网web应用
内网的安全通常都很薄弱&