ssrf
- 概述
- 工具环境
- 实验一
概述
SSRF(Server-Side Request Forgery)叫做服务器请求伪造,因为服务器提供了从其他服务器应用获取数据的功能且没有对目标地址进行过滤和限制导致黑客可以对服务器请求的地址进行伪造。
ssrf漏洞的主要用处就是对服务器进行资源扫描,比如端口,和一些服务的banner信息,对内网Web应用进行指纹识别,识别企业的资产信息。
究其原因就是对一些函数使用不当没有做好相应的过滤,比如file_get_contents()、fsockopen()、curl_exec(),和对一些请求协议的默许。
下面我用几个实验来深入学习SSRF
工具环境
BurpSuite
gopherus
phpstudy
实验一
搭建一个靶场如图所示代码都给了出来,可以看到url_exec这个函数存在很明显就是一个ssrf漏洞利用的案例,同时也对我们的一个关键利用参数做出了过滤。第二个函数可以查看php的配置介绍页面。
phpinfo()
通过phpinfo()可以一个关键信息,在目标服务器下还有一个内网ip存在我们进行探测一下
出现了这个网站内容相同的代码,可以说明这个ip段时可用的,在对其他ip进行探测
有一个活动的ip存在利用burpsuit对它的端口进行探测
可以看到6379redis活跃在服务器,然后利用gopherus构建一个webshell的payload
并且将ip改写为172.18.0.2并写入,但是页面没有反应而后进过探测发现在改目录下还有个upload文件夹
猜测可能在www/html目录下权限不够,而upload权限存在,所以重新构造payload并进行二次编码
可以看到成功写入了