XML&XXE 安全&无回显方案&OOB 盲注&DTD 外部实体&黑白盒挖掘

详细点:

XML 被设计为传输和存储数据, XML 文档结构包括 XML 声明、 DTD 文档类型定义(可
选)、文档元素,其焦点是数据的内容,其把数据从 HTML 分离,是独立于软件和硬件的
信息传输工具。等同于 JSON 传输。 XXE 漏洞 XML External Entity Injection ,
即 xml 外部实体注入漏洞, XXE 漏洞发生在应用程序解析 XML 输入时,没禁止外部实体
的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网扫描、攻击内网等危
害。
XML 与 HTML 的主要差异:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息 ,而 XML 旨在传输存储信息。
Example :网站的 xml 文件解析
-XXE 黑盒发现:
1 、获取得到 Content-Type 或数据类型为 xml 时,尝试 xml 语言 payload 进行测试
2 、不管获取的 Content-Type 类型或数据传输类型,均可尝试修改后提交测试 xxe
3 、 XXE 不仅在数据传输上可能存在漏洞,同样在文件上传引用插件解析或预览也会造成
文件中的 XXE Payload 被执行
-XXE 白盒发现:
1 、可通过应用功能追踪代码定位审计
2 、可通过脚本特定函数搜索定位审计
3 、可通过伪协议玩法绕过相关修复等

XXE 修复防御方案:

  • 方案 1- 禁用外部实体
    PHP:
    libxml_disable_entity_loader(true);
    JAVA:
    DocumentBuilderFactory dbf
    =DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferenc
    es(false);
    Python :
    from lxml import etreexmlData =
    etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
  • 方案 2- 过滤用户提交的 XML 数据
    过滤关键词: <!DOCTYPE 和 <!ENTITY ,或者 SYSTEM 和 PUBLIC
相关推荐
恋猫de小郭9 分钟前
Flutter 发布官方 Skills ,Flutter 在 AI 领域再添一助力
android·前端·flutter
Kapaseker5 小时前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴5 小时前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭15 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab16 小时前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe1 天前
Now in Android 架构模式全面分析
android·android jetpack
二流小码农1 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少1 天前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
Kapaseker1 天前
一杯美式搞定 Kotlin 空安全
android·kotlin
三少爷的鞋1 天前
Android 协程时代,Handler 应该退休了吗?
android