另类SRC文件上传漏洞挖掘思路

VSole2022-07-17 22:17:28

文档上传引发的XXE漏洞(下图来自于 getshell1993)

0x00 背景

前两天在realworld挖到一个docx的xxe漏洞,昨天朋友和我说国外某CTF也出现其中考点了,所以我把docx格式的xxe来简单总结下

0x01前置知识

首先是关于docx这种格式 在微软2007之后 在传统的文件名都添加了x 比如pptx xlsx,还有我们本文提到的docx 他的优点是占用空间会比doc文件占有的少,并且他的本质其实是个xml文件

当你拿到一个docx文件时 使用本机自带的unzip命令进行解压

会得到如下的xml文件 因为docx文件的主要内容是保存为xml的 他是保存在一个压缩包 然后取扩展名为zip 这里面主要存储信息的地方在于word文件夹下的document.xml

内容大致如下

我们发现在word输入的内容在

&xxe;

这个标签内 解析xml实体的位置也是如此

0x02 lets xxe 1

第一个位点就是我们刚才提到的地方

我们只需要做的是在xml声明处添加如下第一行代码 在第二行标签进行修改

]>
&test;

然后将文件重新压缩 修改为.docx 然后找到上传点上传就可以

但做好的即使用微软官方的word并不能打开 发现只有用Libreoffice时候能解析

当然这个在ctf题中也有案例 感兴趣的师傅可以翻阅HackPack 2021 Indead v2 用一模一样的方法就可以

0x02 xxe 2

第一种方法被广流传之后 很多都进行了相对的修改 当然最暴力的方法就是直接禁止实体解析,当然也有做的相对柔和一点就是在document.xml里面检测了关键字 很显然这种方法并不全面 那我们需要探索的就是是否有别的位点

我注意到在线浏览或者转换pdf的地方还有一个回显点 就是页码

经过简单翻找可以看到

在docProps/app.xml标签里面

在pages这里面加入xxe语句即可

0x03 ole to readfile

然后就是出自前几天比赛学习的一种新手法 这种手法只适用于Libreoffice 并且在实战场景是有利用空间的 很多在线网站word转pdf用的都是libreoffice

这道题的设计背景就是 试了xxe发现不行 然后就各种搜索资料 发现word文档是可以以文件的方式嵌入和链接OLE对象 OLE就是一种面向对象技术 利用这种方式就可以把文件 声音 图像表格 应用程序组合在一起

选择插入 OLE Object

然后在这里选择Link to file

可以看到这里面可以成功读取

然后我们保存 这里面要注意一个坑不能直接保存为docx格式 要先保存为odt格式 我们再手动修改扩展名

这时候以zip格式打开就可以看到

格式大概是这样 我们打开content.xml

可以看到 在xlink: href 这里面连接到/etc/passwd 那你也能想到我们可以把他修改/flag上传

这时候我们发现是可行的 但是这种方法读取的行数是有限的 读不到完整flag

解决方法也很简单 我们自己写个文本框来解析 代码如下

<text:section text:name="string"><text:section-source xlink:href="../../../../../../flag" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>text:section>

可以看到能过成功解析 读取flag

0x04 docx压缩包的其他考点

回过头来我们想当他本质是个压缩包的话 php有丰富的伪协议 zip 如果我们在php网站有这种上传docx的地方 也可以考虑 把php一句话写入 然后用zip://把它解压出来

后来发现早有师傅想到这个点了

0x05 拓展阅读

http://www.securityidiots.com/Web-Pentest/XXE/XXE-Cheat-Sheet-by-SecurityIdiots.htm
lhttps://doddsecurity.com/312/xml-external-entity-injection-xxe-in-opencats-applicant-tracking-system/
漏洞挖掘docx
本作品采用《CC 协议》,转载必须注明作者和本文链接
这个标签内 解析xml实体的位置也是如此0x02 lets xxe 1第一个位点就是我们刚才提到的地方我们只需要做的是在xml声明处添加如下第一行代码 在第二行标签进行修改]>
逻辑漏洞挖掘技巧
2023-02-02 11:36:32
商户网站接受异部参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等。查看配置文件和一些过滤器,看是否对 URL 有相关的筛选操作。除了cookie之外,在请求中可能会带一些参数,细览下可能存在辨别信息的唯一值,来进行测试。
为什么会有这篇文章,其实是一个非常有意思的事情。在安全领域,有非常多涉及Word、Execl、PDF、CHM、PPT等等文档的攻击手法,从Web领域到红队领域,使用各种文档来进行攻击的姿势层出不穷,本文希望起到一个抛砖引玉的功能,尽量把各种使用“文档“的攻击姿势讲全。那么废话不多说,让我们先从最经典的使用文档进行钓鱼的功能讲起。
0x01 PDF在漏洞挖掘和红队中的一些攻击姿势 1.使用PDF进行XSS攻击 一个比较新的攻击点,它的攻击场景其实不算常见,如果有某些站点允许上传PDF、能在线解析PDF并且用户能够在线浏览该PDF文件,就有可能存在PDF XSS攻击,要实现这个攻击,我们需要制作一个恶意PDF文件,方法如下: 首先找一个PDF编辑器,本文使用“迅捷PDF编辑器“,其它编辑器的操作方法应该也大同小异。点击左
钓鱼常用手法总结
2022-03-24 13:48:29
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
2022HVV蓝队溯源流程
2022-07-29 17:50:43
一般情况下攻击链包括:侦察、武器化、交付、利用、安装、命令和控制、窃取目标数据。在溯源中,安全人员对攻击者某个阶段的攻击特点进行分析,再结合已掌握的威胁情报数据将攻击特点和数据聚类,能够有效掌握攻击者的攻击手法和 IP 、域名资产等。回连 C2,属攻击者资产。
一般情况下攻击链包括:侦察、武器化、交付、利用、安装、命令和控制、窃取目标数据。在溯源中,安全人员对攻击者某个阶段的攻击特点进行分析,再结合已掌握的威胁情报数据将攻击特点和数据聚类,能够有效掌握攻击者的攻击手法和 IP 、域名资产等。
HW蓝队溯源流程
2022-06-18 07:30:55
背景: 攻防演练过程中,攻击者千方百计使用各种方法渗透目标。一般情况下攻击链包括:侦察、武器化、交付、利用、安装、命令和控制、窃取目标数据。在溯源中,安全人员对攻击者某个阶段的攻击特点进行分析,再结合已掌握的威胁情报数据将攻击特点和数据聚类,能够有效掌握攻击者的攻击手法和 IP 、域名资产等。 目标: 掌握攻击者的攻击手法(例如:特定木马、武器投递方法); 掌握攻击者的 IP域名资产(例如:木
攻击团伙情报 APT37组织使用Konni RAT攻击欧盟目标 近期APT32(海莲花)组织攻击活动样本分析 透明部落以“清洁运动”为主题对印度国防部下属企业发起钓鱼攻击 疑似EvilNum针对欧洲金融实体
siusiu (suitesuite) 一个用来管理 suite 的 suite,志在将渗透测试工程师从各种安全工具的学习和使用中解脱出来,减少渗透测试工程师花在安装工具、记忆工具使用方法上的时间和精力。
VSole
网络安全专家