时间:2021-05-02
漏洞介绍:可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。80sec发现目前一些普遍使用xml的场景中都存在一种古老的XML实体注入漏洞,这可能导致较为严重的安全问题,使得攻击者可能可以任意访问服务器以及应用所在网络的任何资源;
漏洞分析:XML作为一种使用较为广泛的数据传输格式,在语言内部允许引用外部资源来作为语言的补充,譬如
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE copyright [<!ELEMENT copyright (#PCDATA)><!ENTITY hi80sec SYSTEM "http:///">]><wooyun version="2.0"><whitehats>&biye5u; is a legend</whitehats></wooyun>
这将使得xml解析器以当前上下文的环境引用外部的资源作为hi80sec实体的内容,从而在实际的应用上下文里将该部分数据引入逻辑流程进行处理。同样,我们可以使用
file:///etc/passwdfile://localhost/etc/password
进行访问本地文件系统的操作。
不同的解析器可能默认对于外部实体会有不同的处理规则,以PHP语言为例,默认处理xml的方法就包括:
xml_parse和simplexml_load
两种不同的方法,这两种不同的方法在底层完全采取不同的底层逻辑实现,xml_parse的实现方式为expat库,而simplexml_load使用的是libxml库,两个底层库在解析的时候细节并不一样,expat默认对外部实体并不解析,而simplexml_load默认情况下会解析外部实体等,所以simplexml_load和DOM等函数会受此问题影响,而xml_parse则默认不会受到影响。
我们不止在PHP,在包括Java,Python等处理xml的外部组件及函数中都证明可能存在此问题,而且已经在一些互联网公司的应用及一些使用广泛的开源软件中都发现存在问题。
漏洞证明:我们将在WooYun漏洞报告平台上提交我们发现的已经被证明的安全漏洞
解决方案:检查所使用的底层xml解析库,默认禁止外部实体的解析,同时增强对系统的监控,防止此问题被人利用;我们将在WooYun漏洞报告平台上发布可能受影响的,请及时关注;
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
很多同学最近反应都收到了,阿里云给出的安全警告!警告标题为:Discuzuc.key泄露导致代码注入漏洞文件位于:/api/uc.php下面DZ起点网为大家给出
前言sql注入在很早很早以前是很常见的一个漏洞。后来随着安全水平的提高,sql注入已经很少能够看到了。但是就在今天,还有很多网站带着sql注入漏洞在运行。稍微有
前言SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少。新手代码审计者往往对JavaWeb应用的多
第四安全性:是指网站无安全漏洞和非法提交、访问漏洞等问题。一个网站要长期稳定的运行,安全性必不可少。要不然网站动不动就发生“挂马”、“被黑”或“注入”等安全问题
注入式的网络攻击。所谓注入式攻击就是利用漏洞攻击,通过注入漏洞实现网络攻击,而注入式漏洞攻击在互联网中是很常见的一种攻击形式。注入式攻击通常会导致数据丢失、数据