[翻译]盲SSRF利用链术语表

盲SSRF利用链术语表

盲SSRF利用链术语表

介绍

什么是服务器请求伪造(SSRF)?

SSRF(Server-Side Request Forgery:服务请求伪造)是一种由攻击者构造,从而让服务端发起请求的一种安全漏洞,它将一个可以发起网络请求的服务当作跳板来攻击其他服务,SSRF的攻击目标一般是内网。当服务端提供了从其他服务器获取数据的功能(如:从指定URL地址获取网页文本内容、加载指定地址的图片、下载等),但是没有对目标地址做过滤与限制时就会出现SSRF。

盲 SSRF(Blind SSRF)

在利用服务器端请求伪造时,我们经常会发现自己无法读取响应。这种行为通常被称为"盲SSRF(Blind SSRF)"。在这种情况下,我们如何证明影响?这是贾斯汀 · 加德纳在推特上引发的一次有趣的讨论:

img

如果你能够获得内部资源,那么可以执行许多潜在的利用链来证明其影响。这篇文章尽可能详细介绍每个已知的盲SSRF的漏洞利用链,并将随着更多技术的发现和分享而更新。

你可以在这里找到一个GitHub仓库来查看所有的这些技术:Blind SSRF Chains。

请在GitHub上给我们发送一个pull请求,如果你想在这个术语表中添加更多的技术。

SSRF Canaries

img

(当在内部将一个盲SSRF链接到另一个SSRF时,我倾向于称他们为SSRF Canaries,这将在外部进行额外调用,或者通过特定于应用程序的打开重定向或盲XXE。Confluence, Artifactory, Jenkins, 和JAMF都有一些很好的效果。)

为了验证你可以与内部服务或应用程序交互,你可以使用“SSRF Canaries”。

此时,我们可以请求一个内部URL,该URL执行另一个SSRF并调用你的 Canaries主机。如果你收到一个到你的Canaries主机的请求,这意味着你已经成功地命中了一个内部服务,该服务也能够发出出站请求。

这是验证SSRF漏洞是否可以访问内部网络或应用程序的有效方法,也是验证内部网络上是否存在某些软件的有效方法。你还可以使用SSRF检测器访问内部网络中更敏感的部分,这取决于它位于何处。
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用!

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

网络安全工程师企业级学习路线

零基础入门视频教程

所有资料共282G,朋友们如果有需要全套资料包,可以点下面卡片获取,无偿分享!

<think>好的,用户问的是Yakit如何验证SSRF。首先,我需要回忆一下Yakit的基本功能和它在网络安全测试中的应用。Yakit是一个基于yaklang的安全工具,主要用于漏洞检测和渗透测试SSRF(Server-Side Request Forgery)是指服务器会向攻击者指定的内部或外部资源发起请求,但响应不直接返回给攻击者,因此需要间接的方法来验证是否存在漏洞。 首先,用户可能需要了解什么是SSRF以及它与常规SSRF的区别。常规SSRF可以通过响应内容直接判断,而SSRF则需要依赖外部服务或延时来判断是否有请求发生。因此,验证SSRF的关键在于如何检测到服务器确实发起了请求。 接下来,Yakit中可能有几种方法来验证SSRF。比如,使用DNSLog或HTTPLog来记录是否有请求到达攻击者控制的服务器。或者,通过时间延迟技术,比如让服务器访问一个故意设置延迟响应的URL,观察应用响应时间是否有变化。 然后,我需要考虑Yakit的具体功能模块。例如,Yakit是否有内置的DNSLog或HTTPLog功能,或者是否需要结合第三方工具如Burp Collaborator。另外,Yakit的扫描模块是否支持自动化检测SSRF,或者需要手动构造请求。 可能还需要指导用户如何在Yakit中配置Payload,比如在参数中插入外部服务的URL,并监控是否有请求到达。例如,在测试点插入http://dnslog.cn生成的域名,然后检查DNSLog是否有解析记录。 此外,用户可能需要了解如何构造不同的Payload来触发SSRF,比如利用不同的协议(如http, gopher, dict等)或URL格式,以及如何绕过可能的限制。 需要注意的是,验证SSRF时,确保测试不会对目标系统造成损害,遵守法律和道德规范。同时,解释清楚每个步骤的原理,帮助用户理解而不仅仅是操作步骤。 最后,可能需要给出一个具体的操作示例,比如使用Yakit的Web Fuzzer功能,构造包含DNSLog URL的请求,发送后检查是否有记录,从而确认是否存在SSRF漏洞。同时,提醒用户注意请求的合法性和测试权限。</think>Yakit验证SSRF(Server-Side Request Forgery)主要通过以下步骤实现,需结合外部监控服务进行间接验证: --- ### **一、理解SSRF特点** - **无直接响应**:服务端会发起请求,但响应内容不会返回给客户端。 - **需间接验证**:依赖DNS/HTTP请求记录、时间延迟等旁路手段。 --- ### **二、准备监控工具** #### 1. 选择日志监控服务 - **DNSLog**:使用平台如 `ceye.io` 或 `dnslog.cn` 生成临时域名。 - **HTTPLog**:使用 `Burp Collaborator` 或 `Interactsh` 生成URL。 - **自定义服务**:搭建简易HTTP服务器(如Python `http.server`)记录请求。 #### 2. 获取监控地址 - 示例DNSLog:`xxx.ceye.io` - 示例HTTPLog:`https://xxx.oast.pro` --- ### **三、Yakit操作步骤** #### 1. 构造Payload 在可能存在SSRF的参数中插入监控地址: ```http GET /api?url=http://xxx.ceye.io HTTP/1.1 ``` #### 2. 使用Web Fuzzer测试 - **输入点定位**:在请求参数、Header、Cookie等位置插入Payload。 - **协议尝试**:测试不同协议触发效果: ```http dict://xxx.ceye.io gopher://xxx.ceye.io:80/_payload ``` #### 3. 监控结果验证 - **DNSLog**:检查是否有解析记录。 - **HTTPLog**:检查是否有HTTP请求到达。 - **自定义服务**:查看访问日志。 --- ### **四、高级技巧** 1. **时间延迟法** 插入一个响应缓慢的URL,观察服务端是否延迟: ```http http://slow-server.com?delay=5 ``` 2. **条件竞争** 多次触发请求,观察监控服务的请求频率是否异常。 3. **绕过限制** - 使用短域名或IP编码(如 `2130706433` = `127.0.0.1`) - 利用URL解析差异:`http://foo@evil.com@example.com` --- ### **五、注意事项** 1. **合法性**:确保已获得授权,避免非法测试。 2. **协议限制**:部分服务端可能禁用非常用协议(如`gopher`)。 3. **环境差异**:内网环境可能需要特殊Payload(如`metadata`接口)。 --- 通过以上方法,Yakit可结合外部监控服务有效验证SSRF漏洞。实际测试中需灵活调整Payload并分析多维度监控数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值