Pikachu-SSRF(服务器端请求伪造)
SSRF(Server-Side Request Forgery:服务器端请求伪造)
其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据
数据流:攻击者----->服务器---->目标地址
根据后台使用的函数的不同,对应的影响和利用方法又有不一样
PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()
如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,则请做好目标地址的过滤。
SSRF(curl)
1.提供了一个链接,点击这个链接可以返回一首诗,观察 url 发现它传递了一个 url 给后台
2.将url参数的值设为https://www.baidu.com/,得到返回页面,可知已访问了www.baidu.com的资源
3.代码分析
curl 模拟浏览器请求的,比如获取获取远程的网页,文件等,虽然可以使用file_get_contents函数 但是 curl支持cookie 自定义浏览器类型,来源 ip等等。
SSRF(file_get_content)
1.这里file_get_contents函数还有一个文件包含漏洞,利用php伪协议读取文件的源码,url赋值php://filter/read=convert.base64-encode/resource=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info2.php读取源码
2.代码分析
file_get_contents也可以抓取远程网页内容,
作者:joker0xxx3
本文版权归作者和博客园共有,任何人或团体、机构全部转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。 否则保留追究法律责任的权利。