利用pikachu和bwapp学习SSRF
一、SSRF简介
SSRF(Server-Side Request Forgery,服务器端请求伪造)
形成的原因:服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。即以存在SSRF漏洞的服务器为跳板取得其他应用服务器的信息。
**数据流:**攻击者 -----> 服务器 ----> 目标地址
**函数:**根据后台使用的函数的不同,对应的影响和利用方法又有不一样
PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
作用:
1.file_get_contents() 函数把整个文件读入一个字符串中。和 file() 一样。
不同的是 file_get_contents() 把文件读入一个字符串。而file()是把文件读入一个数组中。
2.file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。
fsockopen():打开一个网络连接或者一个unix套接字连接
curl_exec():执行 cURL 会话
如果一定要通过后台服务器远程去对用户指定(“或者预埋在前端的请求”)的地址进行资源请求,则请做好目标地址的过滤。