ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

《Web漏洞防护》读书笔记——第6章,XXE防护

2021-04-07 15:01:52  阅读:399  来源: 互联网

标签:XML Web 读书笔记 外部 实体 DTD 防护 文件 XXE


《Web漏洞防护》读书笔记——第6章,XXE防护
在这里插入图片描述

XXE介绍

XXE漏洞是指由于在XML文件中注入了外部实体而造成的攻击。

XML介绍:XML是一种用于标记电子文件并使其具有结构性的可扩展标记语言。

由以下几个元素所组成:
XML声明,DTD(跟在XML声明后,程序既可以在内部声明DTD,也可以引用外部的DTD文件),实体(需要在DTD内进行声明,分为内部声明实体、外部引用实体),根元素(XML文件有且仅有一个根元素,可以自定义根元素),元素(XML文件的主体内容,也可以成为XML代码),注释(使用 格式进行注释)。

XXE攻击方式介绍

XXE是一种针对应用程序的解析XML输入的攻击,当输入包含外部实体引用的XML文件到未进行安全配置的XML解析器中,产生此类攻击。

XXE攻击原理:
XML1.0标准定义了XML文档的结构,其中实体是指某种类型的存储单元,其具有各种类型,包括外部通用实体、参数解析实体等。
可以通过已生命的系统标识符访问本地或远程的内容。
系统标识符可以假定为一个URL,在处理实体时,XML解析器会对其进行引用,然后将外部实体命名的地方替换成系统标识符锁引用的内容。
如果系统标识符包含了恶意数据冰杯XML解析器解析,XML解析器可能会泄露无法通过应用程序直接访问的机密数据,类似的攻击同样适用于外部DTD文件包含恶意数据时的情况。

XXE攻击造成的危害

1.泄露本地文件:文件中可能包含敏感信息,如密码和用户私有数据等,可以通过使用file://系统标识符或相对路径引用到相关的文件。
2.CSRF/SSRF攻击:XXE攻击发生在应用程序处理XML文档的过程中,因此攻击者可以使用这个受信任的应用程序来攻击内部的其他系统,可以通过HTTP请求或其他内部服务发起SSRF攻击。
3.命令执行:XXE攻击在特定的环境下可以执行系统命令,如安装了Exptect扩展的PHP环境,使用expect://系统标识符执行系统密令。
4.拒绝服务:XXE攻击可以通过执行特定的操作占用系统大量内存,从而造成系统的瘫痪。
5.内网端口探测:通过访问特定的短偶,来探测端口是否开放的情况。

根据外部实体锁在的位置将XXE分为两种类型:
1.内部XXE:外部实体包含在本地DTD中。
2.外部XXE:外部实体包含在外部的DTD文件中。

XXE攻击的检测

如果代码中包含了XML解析操作,且处理的XML文件能够被用户所控制,同时解析的代码中未禁用DTD或DTD中的外部实体,基本可以认定代码中存在XXE漏洞。JAVA应用程序解析XML会特别受影响,因为大多数JAVA XML解析器默认弃用DTD和DTD外部实体。

检测流程:
1.确定应用中是否包含XML解析的操作。
2.确认服务器需要处理的XML文件是否可以被用户控制。
3.确认XML文件是否允许包含DTD。
4.如果XML文件允许包含DTD,需要确认DTD中是否允许包含外部实体。
5.如果XML文件中允许包含DTD及外部实体,构造函数的XML文件发送到服务端,观察是否会出发XML文件中定义的操作,如果触发了相关操作,则可以断定应用中存在XXE漏洞。

XXE的防护

分成两种情况:
1.禁用DTD:由于外部实体必须注入到DTD中,所以禁用DTD能够防止外部实体的注入。
2.禁用DTD中的外部实体:如果XML文件中不能禁用DTD,可以禁止在DTD中注入外部实体。

标签:XML,Web,读书笔记,外部,实体,DTD,防护,文件,XXE
来源: https://blog.csdn.net/jexsen/article/details/115484876

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有