记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

代码安全测试第二十三期:对XML外部实体引用的不当限制漏洞

2021-06-22 02:55

一、什么是对XML外部实体引用的不当限制?

该软件处理的XML文档可能包含带有URI的XML实体,这些URI可以解析为超出预期控制范围的文档,从而导致产品将不正确的文档嵌入其输出中。

XML文档可以选择包含文档类型定义(DTD),该文档类型定义(DTD)除其他功能外,还可以定义XML实体。可以通过提供URI形式的替换字符串来定义实体。XML解析器可以访问此URI的内容,并将这些内容重新嵌入XML文档中以进行进一步处理。

二、对XML外部实体引用的不当限制构成条件有哪些?

满足以下条件,就构成了一个该类型的安全漏洞:

通过提交使用
file:// URI定义外部实体的XML文件,攻击者可以使处理应用程序读取本地文件的内容。例如,诸如
file:/// c:/winnt/win.ini之类的URI(在Windows中)指定文件
C: Winnt win.ini,或
file:/// etc / passwd指定密码基于Unix的系统中的文件。

通过将URI与其他方案(例如http://)一起使用,攻击者可以强制应用程序向攻击者无法直接到达的服务器发出传出请求,这些请求可用于绕过防火墙限制或隐藏攻击源(例如端口扫描)。

读取URI的内容后,会将其反馈回正在处理XML的应用程序中。该应用程序可以回显数据(例如在错误消息中),从而暴露文件内容。

三、对XML外部实体引用的不当限制漏洞会造成哪些后果?

如果攻击者能够包括精心制作的DTD,并且启用了默认实体解析器,则攻击者可能能够访问系统上的任意文件。

DTD可以包括服务器可以执行的任意HTTP请求。这可能导致利用服务器与其他实体的信任关系的其他攻击。

使用指向大文件的URI或始终返回数据的设备(例如/ dev / random),该软件可能会消耗过多的CPU周期或内存。或者,URI可以引用包含许多嵌套或递归实体引用的文件,以进一步减慢解析速度。

四、对XML外部实体引用不当限制的防范和修补方法有哪些?

可以将许多XML解析器和验证器配置为禁用外部实体扩展。

五、对XML外部实体引用的不当限制漏洞样例:


用悟空
静态代码检测工具分析上述程序代码,则可以发现代码中存在着“对XML外部实体引用的不当限制” 导致的
代码缺陷,如下图:

对XML外部实体引用的不当限制在CWE中被编号为CWE-611: Improper Restriction of XML External Entity Reference

文章来源于互联网:代码安全测试第二十三期:对XML外部实体引用的不当限制漏洞


知识来源: https://secvery.com/5945.html

阅读:77216 | 评论:0 | 标签:漏洞 安全

想收藏或者和大家分享这篇好文章→复制链接地址

“代码安全测试第二十三期:对XML外部实体引用的不当限制漏洞”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

广而告之 💖

标签云 ☁