首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XXE及其影响

XXE及其影响
EN

Security用户
提问于 2014-01-05 12:04:12
回答 1查看 2.9K关注 0票数 3

我试图理解XXE (XML外部实体注入)背后的概念。我通过了OWASP关于XXE的准则

而且,由于我对XML和DTD还不熟悉,所以我还阅读了关于这些主题的W3Cschools教程。现在,根据我的阅读资料,我试着创建了一个XXE演示。因此,以下是我同样的尝试:-

代码语言:javascript
复制
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body,author)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools">
<!ENTITY attack SYSTEM "file:///Users/testuser/Desktop/BB/demos/test.txt">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
<author>&writer;©right;&attack;</author> 
</note> 

在路上

file:///Users/testuser/Desktop/BB/demos/

我有一个文件test.txt,其中包含一个字符串:-

这是秘密的东西

现在,当我在Firefox中打开我的XML文件时,它给了我XML文档的树结构,并且正如预期的那样,它用DTD中定义的实体、作者和版权扩展了它们各自的内容。但是,XML解析器没有展开实体“攻击”,正如上面给出的链接所演示的那样,这种情况应该已经发生。

现在我想知道为什么实体攻击没有扩大。其次,即使进行了扩展,(本地文件系统)的文件权限也不会在这里发挥作用吗?

EN

回答 1

Security用户

回答已采纳

发布于 2014-01-05 13:54:32

只是为了充实这一点,略过你最初对浏览器的看法。

通常XXE是对服务器端的攻击,所以查看站点的用户可以访问webroot之外的文件,他们通常无法访问这些文件。

XXE的访问和影响取决于攻击者是否可以找到有用的文件,以及运行web应用程序的用户的权限。特别有问题的是配置文件位于可预测的位置,其中包含用户名/密码,允许攻击者获得额外的访问权限(例如,为管理应用程序提供凭据的文件)。

理论上也有可能将其转换为作为规范的远程文件包含。支持远程外部实体的概念(即从远程服务器中提取文件的内容并将其处理到文档中),但我从未在实践中看到过这一点。

在缓解方面,这通常是在XML解析器级别完成的,最简单的解决方法是禁用实体扩展,除非应用程序的功能需要它(我所看到的很少是这样的要求)。如果需要,那么输入验证/编码很可能是修复它的正确方法。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/48117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档