目录
SSRF---服务器请求伪造
(发生在服务器端,发生在服务器)例:百度识图
服务器替我们发送url请求 ,但没有做恰当的过滤
对响应的
Robots文件,不是给人看的,给浏览器搜索引擎机器人看的,只是可以查看不可查看文件。
CSRF---跨站请求伪造(发生在客户端,伪造网站受信任的用户发送请求)
SSRF漏洞的危害:
端口扫面
内网Web应用指纹识别
攻击内网Web应用
读取本地文件
SSRF常见代码实现
需要php扩展组件curl支持。
// ssrf_curl.php if(isset($_REQUEST['url'])){ $link = $_REQUEST['url']; $fileName = './curled/'.time().".txt"; $curlObj = curl_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); if(getimagesize($fileName)){ header("Content-Type:image/png"); } $fp = fopen($fileName,'r'); $result = fread($fp,filesize($fileName)); fclose($fp); echo $result; }else{ echo "?url=[url]"; } |
漏洞原理:
- 服务器接收了来自客户端的url地址,并由服务器发送该url请求
- 对用户输入的url没有进行恰当的过滤,导致任意url输入
- 没对响应结果进行检验,直接输出。