浅谈ssrf漏洞
1.什么是ssrf漏洞
SSRF全称为Server-side Request Fogery,中文含义为服务器端请求伪造,漏洞产生的原因是服务端提供了能够从其他服务器应用获取数据的功能,比如从指定的URL地址获取网页内容,加载指定地址的图片、数据、下载等等。
一般情况下,我们服务端请求的目标都是与该请求服务器处于同一内网的资源服务,但是如果没有对这个请求的目标地址、文件等做充足的过滤和限制,攻击者可通过篡改这个请求的目标地址来进行伪造请求,所以这个漏洞名字也叫作“服务器请求伪造”。
2.ssrf是由什么引发的
它的作用是函数会把整个文件读入一个字符串中,一般用来下载文件
我们可以在pikachu上演示一下,如图:
我们重点看一下url:http://127.0.0.1/pikachu/vul/ssrf/ssrf_fgc.phpfile=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info2.php
可以发现目标服务器是向另一台服务器发送了请求,我们修改一下目标地址为百度
发现进行了跳转,最重要的是我们可以通过后端服务器去对他同一个网段的服务器进行检测,比如去测他同网段下的服务器的端口服务是否正常打开:
我是80挂着phpstudy,所以出来了phpinfo(),代表我的80端口是开着的,并且file_get_contents函数支持多种协议,我们可以使用多种方法
contents函数支持多种协议,我们可以使用多种方法
相似的函数还有fsockopen函数和curl_exec函数