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

相关推荐
code2cat2 天前
Java工具篇之Maven:从pom.xml到测试通过的JAR
xml·java·maven
郭小李4 天前
mybatis的 Mapper.xml语法
xml·java·mybatis
步行cgn4 天前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive
SEO_juper6 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
可爱系程序猿8 天前
XML 导入失败并指向 msxml6.dll:用最小样本区分解析错误与组件加载
xml·程序人生·电脑
SEO_juper8 天前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
步行cgn8 天前
Spring MVC 核心配置文件详解:springmvc.xml 每一行配置的意义
xml·spring·mvc
泡海椒10 天前
JQuick-SQL JQuickTable 模型:XML 动态 SQL 的表封装边界
xml·数据库·sql
supabc12310 天前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
zzu123zsw11 天前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui