SSRF(Server-Side Request Forgery:服务器端请求伪造) - 指南

news/2026/1/19 21:57:54/文章来源:https://www.cnblogs.com/yangykaifa/p/19503824

SSRF的概念

其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制

导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据

是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)

数据流:攻击者----->服务器---->目标地址

根据后台使用的函数的不同,对应的影响和利用方法又有不一样

PHP中下面函数的使用不当会导致SSRF:

file_get_contents()

fsockopen()

curl_exec()

如果一定要通过后台服务器远程去对用户指定("或者预埋在前端的请求")的地址进行资源请求,则请做好目标地址的过滤。

1.file_get_contents()

下面的代码使用file_get_contents函数从用户指定的url获取图片。然后把它用一个随即文件名保存在硬盘上,并展示给用户。

";
}
echo $img;
?>

2. fsockopen()

以下代码使用fsockopen函数实现获取用户制定url的数据(文件或者html)。这个函数会使用socket跟服务器建立tcp连接,传输原始数据。

3. curl_exec()

cURL这是另一个非常常见的实现,它通过 PHP获取数据。文件/数据被下载并存储在“curled”文件夹下的磁盘中,并附加了一个随机数和“.txt”文件扩展名。

注意事项:

一般情况下PHP不会开启fopen的gopher wrapper

file_get_contents的gopher协议不能URL编码

file_get_contents关于Gopher的302跳转会出现bug,导致利用失败

curl/libcurl 7.43 上gopher协议存在bug(%00截断) 经测试7.49 可用

curl_exec() 默认不跟踪跳转,

file_get_contents() file_get_contents支持php://input协议

常见的 SSRF 绕过技巧

服务器可能会做基础校验(如过滤localhost、内网 IP),攻击者常用绕过方法:

IP 地址变形

内网 IP 的十进制 / 八进制 / 十六进制转换:如192.168.1.100转为十进制3232235876、八进制0300.0250.01.0144、十六进制0xC0.0xA8.0x01.0x64

利用域名解析:将内网 IP 绑定到公网域名(如attacker.com解析到192.168.1.100)。

关键字绕过

过滤localhost时,用0(等价于127.0.0.1)、localhost.localdomain127.0.0.0/8内的其他 IP(如127.0.0.2);

过滤192.168时,用192.168.0.0/16的子网变种(如192.168.0.1192.168.0.01)。

协议与特殊符号绕过

利用@符号:http://example.com@192.168.1.100(服务器解析为访问192.168.1.100);

非 HTTP 协议:如gopher://(可构造任意 TCP 请求,攻击 Redis、MySQL)、dict://(端口扫描)、file://(读取服务器本地文件)。

302 跳转绕过构造公网服务器的 302 跳转,指向内网目标:攻击者先搭建http://attacker.com,返回 302 响应跳转到http://192.168.1.100,再让漏洞服务器请求http://attacker.com

SSRF(curl)

进入平台

点击

发现url栏中出现了url地址?url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php

由题目可知则会使一个curl,因为curl支持很多协议,我们就可以做以下尝试:

1.通过网址访问链接

修改url为:url=http://www.baidu.com,访问百度页面

2.利用file协议查看本地文件(前提是那个地方有这个文件)

修改url为:url=file:///D:/download/111.txt,查看文件的内容

3.dict协议扫描内网主机开放端口

使用dict协议可以获取内网主机开放端口相应服务的指纹信息,比如说内网主机开了http端口的话,

可以修改url为:url=dict://自己的主机ip

SSRF(file_get_content)

点击

发现url变成了file,跟上一关类似

1、file读取本地文件(本地必须有该文件)

file=file:///D:/download/111.txt

2、http协议请求内网资源

file=http://127.0.0.1/pikachu/vul/sqli/1.php

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1185303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

痞子衡嵌入式:如果你在找针对i.MX RT系列的OTA参考设计,可以持续关注Tiny OTA

Tiny OTA 是一个针对 i.MX RT 系列的 OTA 参考设计,其包含 MCU 端固件(tota_sbl 和 tota_app)和 PC 端 GUI 工具(MCU-TinyOtaUtility)两部分。tota_sbl 是示例 bootloader 程序,其由 MCU ROM 引导启动,该程序负…

聊聊A*算法与Dijkstra算法的Matlab及C实现

A*算法matlab程序,附送c程序 Djikstra算法matlab程序 代码特点: 1. matlab读入excel制作的地图,障碍物为1; 2.设置起始点和终止点,A*算法会输出一条近最优路径,因为这是启发式算法; 3.Dijkstra算…

大学生“特种兵出游”网站开发任务书

大学生“特种兵出游”网站开发任务书 一、任务名称 大学生“特种兵出游”网站开发 二、任务目的 针对大学生“特种兵出游”效率优先、高性价比、强计划感的核心需求,开发一款集攻略规划、资源预订、社交分享、智能推荐于一体的专属网站。解决传统旅游平台信息繁杂、…

测试经理的AI助手:自动分配任务与资源‌

智能革命:AI助手如何重构软件测试资源管理 作者:测试自动化架构师 | 2026年1月 一、传统测试资源管理的痛点矩阵 graph LR A[人力分配失衡] --> B[资深工程师处理低级任务] C[紧急需求冲击] --> D[测试周期被打断] E[多项目并行] --> F[设备…

探索MATLAB图像检索的多样世界

MATLAB图像检索,有各种方法的,词袋的,颜色特征,形状特征,hu不变矩,lbp纹理特征等在图像处理领域,图像检索一直是个热门话题。MATLAB作为强大的工具,为我们提供了实现多种图像检索方法…

LT6911UXC 与 LT9611UXC 视频桥接芯片固件架构与功能详解

龙讯lt6911uxc,lt9611uxc资料,有源码固件,支持4k60,支持对接海思3519a和3559a,hdmi转mipi,双通道4k60摘要 本文深入剖析龙讯半导体(Lontium)两款主流视频桥接芯片 LT6911UXC 与 LT9611UXC 的参考…

AI实时监控测试进度:预警延误与风险‌

测试进度管理的范式变革 随着DevOps与持续交付的普及,传统手工跟踪测试进度的模式已难以应对复杂系统迭代。本文基于2025年行业调研数据(Gartner报告显示83%企业遭遇测试延误),深度解析AI监控系统的技术架构、预警机制及落地路径…

中华老黄历正版-分享几个正宗中华老黄历网站

中华老黄历正版,老黄历,也叫‌老黄历‌或‌皇历‌,是中国传统的历书,简单来说就是古人用来‌择吉避凶‌的“生活指南”。它融合了‌公历、农历、干支历‌等多种历法,还加入了‌节气、吉凶宜忌、冲煞、星宿‌等信息…

正宗中华老皇历-分享几个正宗中华老黄历网站

老黄历,也叫‌老黄历‌或‌皇历‌,是中国传统的历书,简单来说就是古人用来‌择吉避凶‌的“生活指南”。它融合了‌公历、农历、干支历‌等多种历法,还加入了‌节气、吉凶宜忌、冲煞、星宿‌等信息,内容非常丰富。…

【MySQL性能优化】MySQL8.0定时删除数据

在Java开发中,日志表、流水表等业务表会随时间快速膨胀,定期清理过期数据(如删除30天前数据)是保障数据库性能的常规操作。本文针对MySQL8.0环境,详细讲解两种定时删除方案——MySQL内置事件调度器、Windows任务计划程…

大学校园体育运动会管理系统开题报告

大学校园体育运动会管理系统开题报告 一、研究背景与意义 (一)研究背景 校园体育运动会是高校校园文化建设的重要组成部分,是展现师生精神风貌、增强集体凝聚力、推广全民健身理念的核心载体。随着高等教育规模的不断扩大,高校在校…

配电网二阶锥节点电价(DLMP)优化模型MATLAB代码功能介绍

MATLAB代码:配网节点电价 DLMP 关键词:DLMP SOCP lindistflow 参考文档:《Distribution Locational Marginal Pricing (DLMP) for Congestion Management and Voltage Support》2018 SCI一区 IEEE Transactions on Power System 非完美复现 …

基于Hadoop的出租房源信息分析系统开题报告

基于Hadoop的出租房源信息分析系统开题报告 一、研究背景与意义 (一)研究背景 随着我国城镇化进程的持续推进与房地产市场的稳健发展,房屋租赁市场已成为房地产行业的重要组成部分,承载着满足居民居住需求、优化住房资源配置的核心…

测试团队的知识管理:AI自动归纳最佳实践

知识管理的迫切性与AI的变革作用 在软件测试领域,知识管理是团队效率与质量保障的核心支柱。测试团队每日产生海量数据——从缺陷报告、测试用例到经验总结——但传统手动管理方式面临诸多挑战:知识碎片化导致重复劳动,隐性经验难以传承&…

国产化建设:从“可替代”走向“可控可演进”!

一、什么是“国产化”?不是换国产品牌这么简单很多人对“国产化”的理解停留在:把国外软件换成国产软件 把国外服务器换成国产服务器 把国外数据库换成国产数据库但真正的国产化并不是“换品牌”,而是三个层级的建设:1️⃣ 可替代…

Comsol电磁波模型:研究金属超表面光栅在TE/TM偏振下斜入射的衍射级反射光谱计算

Comsol电磁波模型:金属超表面光栅,TE/TM偏振下斜入射不同衍射级反射光谱计算打开COMSOL时总会被电磁波模块的选项搞得头大?今天咱们用金属超表面光栅模型实战演练。这种结构在超透镜和全息显示里常见,关键就在于精确计算不同偏振下…

【开题答辩全过程】以 基于Python的健康食谱规划系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

SAP智能测试中心:重构企业级ERP的质量守护范式

第一章:传统ERP测试的痛点与智能化转型必然性 1.1 复杂业务场景的测试困局 数据耦合性挑战:以S/4HANA迁移为例,单个物料主数据变更可能触发财务核算、生产计划、仓储管理等12模块连锁响应 回归测试成本分析:某制造业客户统计显示…

基于AI+Web的商品预购平台的设计与实现 #计算机毕业设计 论文 答辩PPT 毕设

作者贡献介绍 💗CSDN从事毕设辅导第一人,本着诚信、靠谱、质量在业界获得优秀口碑,在此非常希望和行业内的前辈交流学习,欢迎成考学历咨询老师、大学老师前来合作交流💗 👆专注计算机科学与技术、软件工程专…

锌枝晶 Comsol 仿真:三次电流分布建模探秘

锌枝晶comsol仿真 三次电流分布建模 两个模型,两种沉积方式 模型可跑通 结果正确 学习锌枝晶必备学习案例在电化学领域,锌枝晶的研究一直是个热门话题,它关乎着电池的性能与安全。今天就来分享一下锌枝晶 Comsol 仿真中三次电流分布建模&…