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
相关推荐
华硕广东20 小时前
怎么才能去定义自己的生活呢?
科技·安全·技术美术
脚踏实地的大梦想家21 小时前
【Go】P19 Go语言并发编程核心(三):从 Channel 安全到互斥锁
开发语言·安全·golang
qyresearch_21 小时前
全球生物识别加密U盘市场:安全需求驱动增长,技术迭代重塑格局
网络·安全
00后程序员张1 天前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone
来来走走1 天前
Android开发(Kotlin) 扩展函数和运算符重载
android·开发语言·kotlin
wuwu_q1 天前
用通俗易懂 + Android 开发实战的方式,详细讲解 Kotlin Flow 中的 retryWhen 操作符
android·开发语言·kotlin
std78791 天前
ISO 26262: 1~12部分,是汽车功能安全的国际标准,适用于道路车辆中的电气/电子系统。该标准分为12个部分,涵盖功能安全管理的全生命周期
安全·汽车
GIS数据转换器1 天前
2025无人机在电力交通中的应用实践
运维·人工智能·物联网·安全·无人机·1024程序员节
天选之女wow1 天前
【代码随想录算法训练营——Day60】图论——94.城市间货物运输I、95.城市间货物运输II、96.城市间货物运输III
android·算法·图论
李白你好1 天前
日常运营提升效率 | 快速检索漏洞名称、问题描述、风险分析以及安全建议
安全