新闻中心

XML外部实体引用

2025-10-28
浏览次数:
返回列表
XML外部实体(XXE)漏洞因解析器未禁用外部实体导致,攻击者可利用其读取敏感文件、探测内网或触发带外数据泄露;防御需在J*a、Python、.NET、PHP等环境中关闭外部实体解析,并优先使用JSON替代XML。

xml外部实体引用

XML外部实体引用(XXE,XML External Entity)是一种安全漏洞,出现在应用程序解析XML输入时,对外部实体的声明和加载未加限制。攻击者可利用此漏洞读取服务器本地文件、执行远程请求,甚至实现服务器端请求伪造(SSRF)或拒绝服务攻击。

什么是XML外部实体

在XML中,实体用于定义别名以简化内容引用。外部实体指向文档之外的数据源。例如:

]> &external;

上面的代码尝试从服务器读取 /etc/passwd 文件内容。如果解析器支持外部实体且未禁用相关功能,就会将敏感文件内容返回。

常见攻击场景

XXE漏洞常出现在以下情况:

  • 应用接收用户提交的XML数据,如API接口、配置上传或消息交换格式
  • 后端使用默认配置的XML解析器(如J*a中的DOM4J、Python的lxml、.NET的XmlDocument)
  • 未关闭外部实体解析功能

典型危害包括:

天天团购系统 天天团购系统

天天团购系统是一套强大的开源团购程序,采用PHP+mysql开发,系统内置支付宝、财付通、GOOGLE地图等接口,支持短信发送团购券和实物团购快递发货等;另外可通过Ucenter模块,与网站已有系统无缝整合,实现用户同步注册、登陆、退出。 天天团购系统是一套创新的开源团购程序,拥有多达10项首创功能,同时支持虚拟和实物团购,内置类似淘宝的快递配送体系,并提供强大的抽奖、邀请返利等营销功能,让您轻松

天天团购系统 0 查看详情 天天团购系统
  • 读取系统敏感文件(如/etc/shadow、配置文件)
  • 探测内网服务(通过http://192.168.0.1:8080等URL)
  • 触发带外数据泄露(OOB-XXE),通过DNS或HTTP请求外传数据

如何防御XXE漏洞

核心原则是禁止处理外部实体。具体措施依语言而定:

  • J*a:使用DocumentBuilderFactory时,设置以下属性为false
    • setExpandEntityReferences(false)
    • setFeature("http://apache.org/xml/features/disallow-doctype-decl", true)
    • setFeature("http://xml.org/sax/features/external-general-entities", true)
  • Python(lxml):禁用实体解析 parser = lxml.etree.XMLParser(resolve_entities=False)
  • .NET:使用XmlReader并设置DtdProcessingProhibitIgnore
  • PHP:调用libxml_disable_entity_loader(true)

另外建议:

  • 避免直接解析用户提供的XML,优先使用JSON等更安全格式
  • 若必须解析,应在严格验证结构后再处理
  • 定期更新XML解析库,防止已知绕过手法

基本上就这些。只要禁用外部实体加载,大多数XXE风险都能避免。关键是开发时要有安全意识,不依赖解析器默认行为。毕竟默认往往不够安全。

以上就是XML外部实体引用的详细内容,更多请关注php中文网其它相关文章!


# python  # java  # js  # json  # apache  # php  # 解决方法  # seo清风算法  # 游戏推广网站图片素材  # 枣庄线上seo查询结果  # 好的营销模式推广方案  # 婚宴酒店营销推广方案  # 江苏seo软件优点分析  # 江门大姨妈营销推广招聘  # 哈尔滨网站建设制作流程  # 企业推广营销答疑解惑案例  # 西安网站建设app建设  # 文档  # 手把手  # 教你  # 出现在  # 加载  # 多个  # 团购  # .net  # xml解析  # 配置文件  # dns  # 后端 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  C++ map遍历方法大全_C++ map迭代器使用总结  抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩  C#使用XPath查询节点时出错? 常见语法错误与调试技巧  J*aScript中正确使用querySelectorAll与复杂CSS选择器  解决J*aScript中重复选择项的确认对话框显示问题  12306几点到几点不能订票? | 官方最新系统维护时间全解析  抖音极速版最新版本 抖音极速版官方下载地址  Win11输入法不见了怎么办_Windows11恢复语言栏显示方法  Golang如何实现状态模式管理对象状态_Golang State模式实现技巧  使用Python高效删除Word宏并转换DOCM为DOCX格式  钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法  c++如何使用chrono库处理时间_c++标准库时间与日期操作  荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程  在Pyomo中实现基于变量的条件约束:Big-M方法详解  蛙漫官方正版入口 蛙漫网页在线全集免费观看  ExcelARRAYTOTEXT函数怎么自定义分隔符输出数组文本_ARRAYTOTEXT实现动态生成SQL语句  邮政快递单号查询入口 邮政快递物流信息在线查询入口  Golang如何处理RPC请求负载均衡_Golang RPC请求负载均衡策略与实践  css滚动动画效果怎么实现_使用Animate.css滚动触发动画类  高德地图怎么看全景照片_高德地图全景照片浏览教程  在FastAPI中利用lifespan与依赖注入高效管理Redis连接池  利用Bokeh CustomJS动态控制DataTable列可见性  快手极速版在线观看 官方网页版登录地址  sublime怎么覆盖插件的默认快捷键_sublime快捷键优先级与设置  React/Next.js中实现列表项的动态选择与移动  PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧  在Typer应用中优雅地处理和重组任意命令行参数  AngularJS $http POST请求数据传递与Go后端接收实践  将JSON对象数组转置为键值对列表的实用指南  Win11怎么开启高性能模式_Windows 11电源计划优化设置  微信语音通话掉线如何解决 微信语音通话稳定优化方法  QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用  如何在离线环境中使用Composer_Composer离线安装依赖包的技巧与策略  yandex入口引擎手机版 yandex安卓版下载入口  yy漫画网页版官方入口_yy漫画官网登录页面链接  2025俄罗斯Yandex最新入口 官方网站地址及浏览器下载指南  圆通快递查询实时追踪 圆通物流包裹状态快速查看  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性  正确连接J*aScript到HTML实现可点击图片与自定义事件处理  KFC早餐时段怎么领特惠代码_KFC早餐订餐优惠代码获取与使用说明  Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】  天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】  必由学官方平台入口 必由学在线课堂登录地址  漫蛙2(台版)官方入口地址 漫蛙2(台版)正版漫画网页端  uc浏览器网页版极速入口 uc网页浏览器网页版流畅体验  《燕云十六声》两周内达九百万玩家!位居畅销榜第五  React Router v6 教程:构建认证保护的私有路由与重定向策略  拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达 

搜索