一、SSRF漏洞原理:
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。
一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
比如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。利用的是服务端的请求伪造。ssrf是利用存在缺陷的web应用作为代理攻击远程和本地的服务器
二、SSRF漏洞特征:
- 查看url上是否有file协议/gopher协议/ftp协议/dict协议
例 http://127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=file:///c:/windows/system.ini(获取本地c盘的system.ini文件)
2、查看url地址后面一些参数
(share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain等)这些参数后面的值是不是内网的IP地址或者是127.0.0.1或者是一些协议的一些关键字眼。
3、参数值后面存在特殊字符
- 这些参数值的后面是否有特殊字符(绕过ssrf会使用一些特殊字符eg:‘。’‘[: :]’等一些特殊的字符),也可能出现各种编码/进制进行写IP地址,或者特殊的域名eg:xip.io。
- 是否出现file_get_contents()、fsockopen()、curl_exec()等函数