SSRF 服务端请求伪造 超完整笔记

SSRF 服务端请求伪造, 简介,SSRF实验, 漏洞探测, 绕过技巧, SSRF防御_json格式绕过ssrf (,)是一种恶意网络行为, 攻击者可以利用这种漏洞发送来自服务器的请求,以访问或操作服务器通常无法访问的内部资源。SSRF通常存在于应用程序中,该应用程序接受用户提供的URL,并基于该URL发出服务器端的HTTP请求。 2. fsockopen() 3. curl_exec() 三, SSRF 漏洞实验 SSRF的利用条件:URL地址可控, 后台页面没有对URL进行正确的校验, 在页面当中最好有输出方式一: file_get_contents()函数: 方式二: curl请求: 2. 利用漏洞脚本发送 阅读详情

一、SSRF 漏洞原理

SSRF(Server-Side Request Forgery)服务端请求伪造,是一种由服务器发起请求的伪造攻击漏洞。

攻击者无法直接访问内网、本地、受限资源,利用服务器作为跳板,让服务端主动发起请求,探测、攻击、读取内网资源。

核心特点:攻击目标大多是外网无法直接访问的内网系统、本地主机、后台服务。

二、SSRF 主要攻击危害

  1. 内外网端口、服务扫描
    利用服务端探测内网存活主机、开放端口、运行服务,绘制内网拓扑。
  2. 读取本地敏感文件
    利用 file、gopher、dict 等协议读取服务器本地配置文件、密钥、源码、隐私数据。
  3. 远程命令执行 / 内网服务攻击
    攻击内网 Redis、MySQL、FTP、LDAP 等服务,可造成命令执行、数据泄露、服务沦陷。
  4. DOS/DDOS 攻击
    构造长连接、大文件请求,占用服务器带宽、资源,造成服务拒绝。
  5. 对内网 Web 应用渗透
    对内网后台发起 SQL 注入、XSS、越权等二次攻击,内网服务通常无外网防护。

三、SSRF 与 CSRF 核心区别

  1. CSRF(跨站请求伪造):客户端浏览器发起请求,攻击用户权限。
  2. SSRF(服务端请求伪造):服务器主动发起请求,攻击内网与本地服务。

四、容易出现 SSRF 漏洞的功能场景

  1. 社交分享、URL 跳转、网页预览功能
  2. 在线转码、在线翻译、网页内容抓取
  3. 远程图片加载、远程头像下载、富文本远程资源加载
  4. 文章、内容收藏、抓取网页标题内容
  5. 云服务检测网站存活、远程资源探测
  6. 网站采集、爬虫、URL 解析功能
  7. 数据库远程同步、复制功能(mongodb copyDatabase)
  8. 邮件系统解析远程服务器地址
  9. 多媒体处理:ffmpeg、ImageMagick、docx、pdf、XML 解析
  10. 各类 API 远程调用、外链导入功能
  11. 所有允许用户输入 URL、IP、域名的功能点

常见高危参数特征

share、wap、url、link、src、source、target、u、imageURL、domain

五、触发 SSRF 的高危 PHP 函数

1. file_get_contents()

直接读取用户传入的 URL / 文件内容,最容易出现 SSRF。
支持 file://、php://、http:// 等协议。

<?php
$url = $_GET['url'];
echo file_get_contents($url);
?>

2. fsockopen()

通过 Socket 主动建立 TCP 连接,可自定义请求,可扫描端口、发送数据包。

<?php 
function GetFile($host,$port,$link) { 
    $fp = fsockopen($host, intval($port), $errno, $errstr, 30);   
    if (!$fp) { 
        echo "$errstr (error number $errno) \n"; 
    } else { 
        $out = "GET $link HTTP/1.1\r\n"; 
        $out .= "Host: $host\r\n"; 
        $out .= "Connection: Close\r\n\r\n";
        fwrite($fp, $out); 
        $contents=''; 
        while (!feof($fp)) { 
            $contents.= fgets($fp, 1024); 
        } 
        fclose($fp); 
        return $contents; 
    } 
}
?>

3. curl_exec()

curl 系列函数支持丰富协议,是 SSRF 利用最多的函数,默认不自动跟踪跳转。

<?php 
if (isset($_POST['url'])){
    $link = $_POST['url'];
    $curlobj = curl_init();
    curl_setopt($curlobj, CURLOPT_URL,$link);
    curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
    $result=curl_exec($curlobj);
    curl_close($curlobj);
    echo $result;
}
?>

其他高危函数

fopen()、readfile()、xmlrpc 相关远程调用函数

六、SSRF 四大高危协议

1. file:// 本地文件读取

有回显情况下,读取服务器任意本地文件(配置、密钥、密码文件)。
示例:url=file:///etc/passwd

2. dict:// 服务探测与命令查询

探测内网端口、服务版本、Redis 信息。
示例:dict://127.0.0.1:6379/info

3. gopher:// 万能协议(最强利用)

支持自定义 GET/POST 完整数据包,可攻击绝大多数内网服务,反弹 Shell、批量执行命令。

4. http/https:// 内网扫描

探测内网主机存活、端口开放、Web 服务漏洞。

七、SSRF 常见绕过姿势(面试必考)

1. @符号绕过域名白名单

URL 解析规则:协议://用户凭证@域名
浏览器 / 服务器最终访问 @后面的域名

示例:
http://baidu.com@127.0.0.1 实际访问 127.0.0.1
多层 @可混淆防护:http://a.com@b.com@c.com

2. 短链接 302 跳转绕过

利用短链接平台(dwz.cn、tinyurl)生成跳转链接,跳转至内网地址,绕过 URL 拦截。

3. DNS 解析绕过

xip.io 泛解析:
127.0.0.1.xip.io → 解析为本地回环地址

4. IP 进制转换绕过

127.0.0.1 多种编码绕过:

  • 十进制:2130706433
  • 十六进制:0x7f.0.0.1
  • 八进制:0177.0.0.1

5. 特殊地址绕过

  • http://0/ 等价本地地址
  • http://[::]/ IPv6 本地回环绕过localhost限制
  • 中文句号绕过:127。0。0。1

6. 多协议滥用绕过

ftp://、sftp://、tftp://、ldap://、gopher:// 绕过仅拦截 http 的防护

7. 上传功能伪 SSRF

将文件上传参数 type=file 改为 type=url,触发远程请求造成 SSRF。

八、SSRF 漏洞防御方案

  1. 协议白名单限制
    仅允许 http/https,彻底禁止 file、gopher、dict、ftp 高危协议。
  2. 禁用内网与本地地址
    拦截 127.0.0.1、0.0.0.0、10/172/192 内网段、IPv6 本地地址。
  3. IP 重校验
    解析域名后二次校验真实 IP,防止 DNS 跳转、短链接绕过。
  4. 关闭危险函数协议封装
    php.ini 禁用 gopher、file 等协议的远程调用。
  5. 限制请求端口
    只允许 80、443 等常规 Web 端口,禁止 21、22、6379、3306 等高危内网端口。
  6. 请求超时、连接限制
    设置短超时时间,防止长连接 DOS 攻击。
  7. 开启 URL 严格解析规则
    禁止 @符号、特殊符号、畸形 URL 解析,防止域名混淆绕过。

九、全文总结

SSRF 是高危内网穿透漏洞,核心风险是利用服务器身份攻击内网。
相比于 CSRF 客户端攻击,SSRF 危害更大,可直接穿透边界防火墙,扫描内网、读取本地文件、攻击内网服务、执行命令。

渗透测试核心思路:找 URL 可控参数 → 尝试多协议测试 → 尝试各类 IP 绕过 → 内网探测与服务攻击。
防御核心:白名单协议、拦截内网 IP、二次解析校验、限制端口。


最后

关于网络安全技术储备

学好网络安全不论是就业还是做副业赚钱都不错,但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门网络安全是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。

二方面是可以找到适合自己的学习方案

包括:网安成长学习路线图、SRC&黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全!

需要的可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

img

👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述

👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)

在这里插入图片描述

👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

随着互联网技术的飞速发展,网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等,以其强大的语言理解和防御能力,正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。

img

👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

在这里插入图片描述

这份完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

img

SSRF:服务端请求伪造攻击 SSRF(Server-Side Request Forgery)是一种网络安全攻击,攻击者利用受害服务器发起网络请求,通常是利用受害服务器的信任关系来获取敏感信息或者攻击内部系统。攻击者可以通过构造恶意的请求,使受害服务器发起对内部系统的请求,从而获取内部系统的信息或者执行未经授权的操作。 SSRF攻击通常利用受害服务器对外部资源的访问权限,比如对外部URL的访问或者对内部系统的访问权限,来发起攻击。攻击者可以通过构造恶意的URL,使受害服务器发起对内部系统的请求,从而获取敏感信息或者执行恶意操作。 阅读详情

相关推荐

安全测试|SSRF请求伪造

SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。很多Web应用都提供了从其他的服务器上获取数据的功能,根据用户指定的URL,Web应用可以获取图片、下载文件、读取文件内容等。这种功能如果被恶意使用,将导致存在缺陷的Web应用被作为代理通道去攻击本地或远程服务器,这种形式的攻击被称为服务端请求伪造攻击。一般情况下,SSRF攻击的目标是外网无法访问的内部系统。

m0_60889254的博客 1534

服务端请求伪造(SSRF)及漏洞复现

服务端请求伪造(Server-Side Request Forgery,简称SSRF)是一种常见的安全漏洞,攻击者可以通过该漏洞使服务器发起未经授权的请求,甚至可以访问内部资源。攻击者可以利用SSRF获取敏感信息、执行未经授权的操作或者进行其它攻击。

来日可期的博客 8585

CTF-Web学习笔记:服务端请求伪造(SSRF)篇

本文系统介绍了CTF比赛中SSRF漏洞的攻防技术。首先解析了SSRF的核心原理,即利用服务器对用户输入URL的未校验缺陷,诱导其访问内网资源。然后详细分析了5类常见CTF题型:文件读取、内网探测、云服务元数据窃取、协议绕过及组合漏洞利用。重点讲解了绕过URL过滤、利用特殊协议(如dict://、gopher://)等实战技巧,并通过一道SSRF+Redis的高阶题目演示完整攻击链。最后给出防御建议:严格校验输入URL、禁用危险协议、实施内网隔离等。

Deng7326的博客 1710

SSRF服务端请求伪造

SSRF服务端请求伪造 背景 在做一个需求,需要通过url与库内数据做匹配,然后记录匹配结果。但是部分url是重定向的url,重定向之前的url与库中无法匹配,重定向之后的url可以与库中匹配,所以代码中有一段重定向的代码逻辑 httpClient = &http.Client{ CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse },

RealGUO的博客 2807

服务端请求伪造攻击 SSRF漏洞 原理以及修复方法

服务端请求伪造攻击 SSRF漏洞 原理以及修复方法

it知识分享 free for nothing.. 1454

SSRF(服务端请求伪造)漏洞

目录 SSRF SSRF漏洞的挖掘 SSRF漏洞利用 SSRF漏洞防御 SSRF SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞,是一种由攻击者构造请求,由服务器端发起请求的安全漏洞,本质上是属于信息泄露漏洞。 SSRF漏洞原理:很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取...

谢公子的博客 1万+

SSRF跨站请求伪造

SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞是一种常见的网络安全漏洞,它允许攻击者利用服务器端应用程序发起的请求来攻击其他服务。利用的是服务端的请求伪造。tftp://基于lockstep机制的文件传输协议,允许客户端从远程主机获取文件或将文件上传至远程主机。:使用Dict://、FTP://、LDAP://、Gopher://等非HTTP协议。dict:// 字典服务器协议,访问字典资源,dict是基于查询相应的TCP协议。

Mortal_hui的博客 1603

AI初识—LLM、Ollama、Llama都是些个啥?

LLM指的是大语言模型(Large Language Model),是一种基于深度学习的模型,能够理解和生成自然语言。它通过大量文本数据进行训练,具备了理解上下文、生成连贯文本和回答问题的能力。著名的LLM包括OpenAI的GPT系列和Google的BERT。在AI技术快速发展的背景下,LLM、Ollama和Llama代表了现代自然语言处理的不同方面。LLM为我们提供了强大的语言理解能力,Ollama为模型的部署和管理提供了便利,而Llama则在效率和多样性上不断推进。

小蜗牛的珍贵百宝箱 4634

SSRF——服务端请求伪造

什么是SSRF? 服务器端请求伪造(SSRF)是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务) 什么是SSRF 攻击者能够从易受攻击的web程序,发送精心设计的请求的对其他网站进行攻击,即利用一个可发起网络请求服务当做跳板来攻击其他服务 ssrf有什么作用 一般用于探测内网端口及信息,查看文件,甚至可以getshell 攻击内外网的web应用。 ssrf一般存在于哪些地方 能够对外发起网络请求

weixin_46601374的博客 3745

本地部署 Bolt.new - 小学生都能轻松搭建AI编程环境

本地部署 Bolt.new - 小学生都能轻松搭建AI编程环境

engchina的专栏 8629

Autodesk全家桶:从AutoCAD到Maya,设计师必备的7款神器全解析

本文全面解析Autodesk全家桶中的7款设计师必备软件,包括AutoCAD、Revit、Inventor、Fusion 360、Maya和3ds Max等。从二维制图到三维建模,从建筑信息模型(BIM)到影视动画制作,这些工具在工程设计、建筑可视化和数字创意领域展现出强大的协同效应。通过实战案例展示如何整合工作流,显著提升设计效率与项目质量。

weixin_29237635的博客 461

【SSRF漏洞-01】服务端请求伪造靶场实战

服务端请求伪造)是一种由攻击者构造请求,由服务器端发起请求的安全漏洞,本质上是属于信息泄露漏洞。如果“请求伪造”发生在服务器端,那么这个漏洞就叫做“服务器端请求伪造”即SSRF。SSRF是一种攻击者发起的伪造由服务器端发起请求的一种攻击,也是常见的web安全漏洞(缺陷或者风险)之一。互联网上的很多web应用提供了从其他服务器(也可以是本地)获取数据的功能。使用用户指定的URL,web应用可以获取图片、文件资源(下载或读取)。例如:百度提供识图功能。用户可以从本地或者URL。

cc 4059

如何在 DevOps 管道中实现 AI?

AI与DevOps的融合(AIOps)正在重塑软件开发生命周期。本文系统阐述了AI在DevOps中的五大应用场景:智能监控、自动化测试、安全防护、CI/CD优化和事件管理,并提出了六步实施框架:痛点识别、工具选型、流程集成、智能监控、MLOps和治理合规。通过Netflix、Google等企业的实践案例,验证了AI在提升部署效率(降低40%故障率)、缩短问题解决时间(MTTR减少60%)方面的显著价值,同时指出数据质量、模型偏差等实施挑战。研究表明,战略性地

介绍AWS Azure GCP devops Terraform 等技术 497

SSRF服务端请求伪造漏洞原理与修复及靶场实践

对于内网地址的过滤不严谨,我们可以考虑对IP地址进行转换xip.io绕过URL黑名单过滤缺陷xip.io 是一个公共 DNS 服务,提供自动解析功能,尤其适用于开发和测试环境。该服务由 Basecamp 开发并免费提供使用。我们可以将一个带有 IP 地址的域名作为 xip.io 子域名使用,例如。xip.io 服务会将这个子域名解析为指定的 IP 地址(例如 192.168.1.1)。这样,我们就可以通过这个域名直接访问本地网络中的服务器,而不需要修改任何 DNS 配置。借用到SSRF也是一样的。

m0_74220316的博客 2419

FGC_grasp复现

FGC_GraspNet复现

qq_39568387的博客 385

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(三)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)A.错误B.正确参考答案:BA.getB.try_getC.peekD.put参考答案:B。

qq_42135020的博客 1917

API 中的服务端请求伪造 (SSRF)

并非所有 API 漏洞都是平等的。服务器端请求伪造 (SSRF) 攻击是最危险的攻击之一,因为它们会影响 Web 应用程序及其 API。事实上,它非常危险,最近已被添加到 OWASP API Security TOP 10 中,您可以在此处阅读相关信息。随着威胁形势的不断发展,Web 应用程序安全也必须不断发展。如果 REST API 中的易受攻击代码无法正确验证用户输入,则最终可能允许访问数据或允许在托管 API 的 Web 服务器上远程执行代码。在本文中,我们将探讨 SSRF 的来龙去脉,如何利用它。

博客地址 www.sec0nd.top 1342

100天精通Python(爬虫篇)——第118天:selenium自动化操作浏览器基础大总结

一、Selenium框架环境搭建 1. 下载模块 2. 安装浏览器驱动WebDriver 二、基础操作 1. 打开浏览器 2. 无界面模式 3. 元素定位 4. 元素操作 5. 前进后退 6. 执行js 7.页面等待 隐式等待(常用) 显式等待(了解) 三、进阶操作 1. 使用代理ip 2. 修改请求头 3. 隐藏指纹特征.....................

努力让自己发光,对的人才能迎着光而来 10万+

分享一些服务端请求伪造SSRF的笔记

分享了一下服务端请求伪造SSRF的学习笔记,适合不知道什么是SSRF的新手

weixin_42988262的博客 1035

化工设计软件:PDMS二次开发_(7).数据导入与导出技术

在某些复杂场景下,PDMS提供的标准API接口可能无法满足需求。此时,可以通过自定义API接口来实现特定的数据导入与导出功能。自定义设备导入API接口可以处理更复杂的设备数据格式。# 导入必要的库import pdms_api # 假设有一个PDMS API库# 定义自定义设备数据# 自定义设备导入API接口# 调用自定义设备导入API接口# 输出导入成功的消息print("自定义设备数据导入成功")在PDMS二次开发中,数据的导入与导出是关键的技术环节。

kkchenjj的博客 1490

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: Web 逻辑漏洞超全详解
下一篇: 网络中间人截获欺骗攻击(六种攻击原理 + 过程 + 防御 完整版)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值