pikachu靶场 :十五、SSRF
概述
SSRF(Server-Side Request Forgery:服务器端请求伪造)
其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据
数据流:攻击者----->服务器---->目标地址
根据后台使用的函数的不同,对应的影响和利用方法又有不一样
PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()
如果一定要通过后台服务器远程去对用户指定(“或者预埋在前端的请求”)的地址进行资源请求,则请做好目标地址的过滤。
SSRF(curl)
点击链接,将访问下面链接得到诗的内容。
https://www.****.com/vul/ssrf/ssrf_curl.php?url=http://www.****.com/vul/ssrf/ssrf_info/info1.php
从链接看出,可以以服务器的身份去进行一些攻击,比如访问服务器上的文件,比如利用服务器做为内网探测等,这里可以简单测试下。
https://www.****.com/vul/ssrf/ssrf_curl.php?url=http://www.****.com:22
SSRF(file_get_content)
和上面差不多,点击获取链接。
https://www.****.com/vul/ssrf/ssrf_fgc.php?file=http://www.****.com/vul/ssrf/ssrf_info/info2.php
区别是函数换了,所以用法也有点不一样,file:///etc/my.cnft就可以直接读取文件。
https://www.****.com/vul/ssrf/ssrf_fgc.php?file=file:///etc/my.cnft