从SSRF到PDFReacter的RCE漏洞利用实战

本文详细介绍了在PDFReacter HTML转PDF解析器中发现的严重安全漏洞,攻击者可通过iframe标签实现SSRF攻击,利用file://协议读取系统敏感文件,最终通过SSH私钥获取服务器root权限并实现远程代码执行。

从SSRF到RCE in PDFReacter

什么是PDFReacter?

PDFReacter是一个将HTML内容解析转换为PDF格式的解析器。

在测试某个应用程序时,我发现该应用正在使用PDFReacter解析器。PDFReacter是一个格式化处理器,专门将HTML内容解析为PDF文件。

由于应用程序提供了向表单中插入数据的选项,我开始使用XSS进行模糊测试。为此,我简单使用了<img>标签。应用程序还有一个将表单导出为PDF的选项,当我导出包含payload的表单时,最终的PDF文件显示如下:

这意味着应用程序和PDFReacter都没有对HTML标签进行转义处理,并且会处理HTML标签/XSS Payload。

既然我知道应用程序使用PDFReacter作为解析器,且两者都没有对我的payload进行转义处理,接下来我尝试使用iframe。我想检查是否可以在最终的PDF文档中加载外部网站,正如你所看到的,Google成功在框架中加载。

现在很清楚,我可以通过使用iframe来访问外部站点(SSRF确认)。

下一步是使用file:///包装器读取本地文件。我使用了简单的payload:"><iframe src="file:///etc/passwd"/></iframe>

砰!!!!!

接下来是检查当前用户是否具有root权限。我简单地尝试使用下面提到的payload获取shadow文件,并注意到我能够成功获取shadow文件:"/><iframe src="file:///etc/shadow"></iframe>

由于当前用户具有root权限,下一步是获取shell。我获取了私有SSH密钥,并能够通过SSH连接到服务器。

虽然这不是我的第一次RCE,但当我获得shell时,我还是起了鸡皮疙瘩。Rahul Maini的博客帮助我理解了当前的情况。感谢Maini提供了如此精彩的博客。

感谢大家的阅读。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计