XXE(XML外部实体注入)漏洞

  • xxe&xml

    • 探针

      • 黑盒

        • content-type
          • 获取得到Content-Type或数据类型为xml时,尝试xml语言payload进行测试
        • svg&excel引用
        • 数据格式
      • 白盒

        • 可以通过应用功能追踪代码定位审计
        • 可通过脚本特定函数搜索定位审计
        • 可通过伪协议玩法绕过相关修复等
    • 利用

      • 无回显

        • 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 [
            • %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))
    • 原理及漏洞

相关推荐
Predestination王瀞潞10 小时前
2.4 编码->W3C XML 1.0标准(W3C Recommendation):XML(Extensible Markup Language)
xml·前端
青槿吖1 天前
【保姆级教程】Spring事务控制通关指南:XML+注解双版本,避坑指南全奉上
xml·java·开发语言·数据库·sql·spring·mybatis
北京聚信万通科技有限公司2 天前
Odette OFTP2 Group1/2/3深度解读:PDX XML能力划分与选型指南
xml·edi·电子数据交换·as2·国产软件·oftp2
小趴蔡ha3 天前
如何将XML格式标注文件转换为YOLO格式进行目标检测训练(附代码)
xml·yolo·目标检测
__Yvan4 天前
解决ConstraintLayout中LinearLayout显示异常问题
android·xml·约束布局
weixin_307779134 天前
构建健壮的XML文档抓取与摘要流水线:Requests + urllib3.Retry + lxml 实践
xml·开发语言·python·算法·性能优化
kgduu4 天前
js之xml处理
xml·前端·javascript
aisifang005 天前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
小江的记录本5 天前
【Spring Boot—— .yml(YAML)】Spring Boot中.yml文件的基础语法、高级特性、实践技巧
xml·java·spring boot·后端·spring·spring cloud·架构
青槿吖6 天前
第二篇:告别XML臃肿配置!Spring注解式IOC/DI保姆级教程,从入门到真香
xml·java·开发语言·数据库·后端·sql·spring