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
相关推荐
Lei活在当下4 小时前
【项目踩坑实录】并发环境下,Glide缓存引起的图片加载异常
android·debug·glide
Guheyunyi5 小时前
智慧消防管理系统如何重塑安全未来
大数据·运维·服务器·人工智能·安全
中科固源5 小时前
应用层|低空应用安全的 “精工锻造者”,中科数测以多工具矩阵赋能应用从开发到运维的全周期安全
安全·网络安全·低空
八月的雨季 最後的冰吻6 小时前
FFmepg-- 32-ffplay源码- PacketQueue 的线程安全机制 以及 serial 字段的作用
安全·ffmpeg
my_power5207 小时前
检出git项目到android studio该如何配置
android·git·android studio
JZC_xiaozhong8 小时前
多系统并行的权限治理难题:如何消除“权限孤岛”与安全风险?
安全·数据安全·etl工程师·iam·数据集成与应用集成·多系统权限管理·统一数据集成
北京聚信万通科技有限公司8 小时前
传输协议:AS3
服务器·网络·安全·电子数据交换·as3
三少爷的鞋10 小时前
Repository 方法设计:suspend 与 Flow 的决选择指南(以朋友圈为例)
android
阿里云云原生10 小时前
Android App 崩溃排查指南:阿里云 RUM 如何让你快速从告警到定位根因?
android·java
互亿无线明明12 小时前
国际金融短信:如何为跨境金融业务构建稳定安全的消息通知链路?
java·python·安全·eclipse·django·virtualenv·pygame