feilong
feilong
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#C.2FC.2B.2B Introduction XML eXternal Entity injection (XXE), which is now part of the OWASP Top 10, is a type of attack against an application that parses XML input. This attack...
http://www.freebuf.com/articles/web/126788.html 浅谈XXE攻击 0×00. 介绍 现在越来越多主要的web程序被发现和报告存在XXE(XML External Entity attack)漏洞,比如说facebook、paypal等等。 举个例子,我们扫一眼这些网站最近奖励的漏洞,充分证实了前面的说法。尽管XXE漏洞已经存在了很多年,但是它从来没有获得它应得的关注度。很多XML的解析器默认是含有XXE漏洞的,这意味着开发人员有责任确保这些程序不受此漏洞的影响。 本文主要讨论什么是XML外部实体,这些外部实体是如何被攻击的。 更新:最新微信XXE漏洞案例 0×01. 什么是XML外部实体? 如果你了解XML,你可以把XML理解为一个用来定义数据的东东。因此,两个采用不同技术的系统可以通过XML进行通信和交换数据。 比如,下图就是一个用来描述一个职工的XML文档样本,其中的’name’,'salary’,'address’ 被称为XML的元素。 Image 有些XML文档包含system标识符定义的“实体”,这些XML文档会在DOCTYPE头部标签中呈现。这些定义的’实体’能够访问本地或者远程的内容。比如,下面的XML文档样例就包含了XML ‘实体’。 Image 在上面的代码中, XML外部实体 ‘entityex’ 被赋予的值为:file://etc/passwd。在解析XML文档的过程中,实体’entityex’的值会被替换为URI(file://etc/passwd)内容值(也就是passwd文件的内容)。 关键字’SYSTEM’会告诉XML解析器,’entityex’实体的值将从其后的URI中读取。因此,XML实体被使用的次数越多,越有帮助。 0×02. 什么是XML外部实体攻击? 有了XML实体,关键字’SYSTEM’会令XML解析器从URI中读取内容,并允许它在XML文档中被替换。因此,攻击者可以通过实体将他自定义的值发送给应用程序,然后让应用程序去呈现。 简单来说,攻击者强制XML解析器去访问攻击者指定的资源内容(可能是系统上本地文件亦或是远程系统上的文件)。比如,下面的代码将获取系统上folder/file的内容并呈献给用户。 Image...
关于dom4j的微信XXE实体注入错误,使用DocumentHelper进行解析的漏洞修补 https://blog.csdn.net/wtbapi/article/details/80944244 SpringMVC中的XXE漏洞测试 https://blog.csdn.net/u011721501/article/details/43940503 https://jira.spring.io/browse/SPR-10806
关于dom4j的微信XXE实体注入错误,使用`DocumentHelper`进行解析的漏洞修补 7月4日微信发来通知说存在XML实体注入漏洞,请修改。 由于自己的后台采取的dom4j的包,而且当时业务也只是对微信传入的xml进行解析处理,所以就直接使用`DocumentHelper`的`parseText`的方式进行解析,而没有使用`SAXReader`的方式进行,在网上搜罗了很多资料,发现处理方式都无法使用。 最后自己在看了dom4j的源代码后,发现`DocumentHelper`的parseText方法的实现,其实也是`SAXReader`实现的,再查看`SAXReader`源码,里面也有一个方式`setFeature`,于是找到了处理方式 ```JAVA Document doc = null; SAXReader reader = new SAXReader(); try{ reader.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true); } catch (SAXException e) { // On Apache, this should be thrown when disallowing...
XMLInputFactory (a StAX parser) StAX parsers such as XMLInputFactory allow various properties and features to be set. To protect a Java XMLInputFactory from XXE, do this: xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false); // This...
Note: The above defenses require Java 7 update 67, Java 8 update 20, or above, because the above countermeasures for DocumentBuilderFactory and SAXParserFactory are broken in earlier Java versions, per:...
XML parsers should not be vulnerable to XXE attacks Vulnerability Blocker Main sources cwe, owasp-a4 Available Since Apr 02, 2020 SonarAnalyzer (Java) Constant/issue: 15min Allowing access to external entities in...
目前 你可以调用 com.feilong.security.oneway.OnewayEncryption.encode(OnewayType, byte[]) 这个类 无法直接访问了
什么场景