SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造,由服务端发起请求的一个网络攻击,一般用来在外网探测或攻击内网服务,其影响效果根据服务器用的函数不同,从而造成不同的影响。
SSRF 形成的原因大都是由于服务端提供了从其他服务器获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
SSRF漏洞常见业务场景:
引发ssrf漏洞的函数:
1.file_get_contents
2.fsockopen()
通过fsockopen发现3306端口没有打开,如图所示。如果返回内容是空白,表示3306端口是打开的
3.curl_exec
利用方法:
图中22端口探测成功,探测6379成功(返回信息明显是redis相关信息)。
注:有时banner信息是可以人为修改的,比如上图端口22返回为ssh,实际情况有可能被认为故意修改成其他的信息,达到扰乱攻击者的目的,所以此信息并不完全可信。