首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Web服务器允许加载XML外部实体?

为什么Web服务器允许加载XML外部实体?
EN

Security用户
提问于 2019-07-17 15:53:53
回答 1查看 253关注 0票数 1

我一直在阅读XXE注入,到目前为止,我看到的每个示例都涉及到一个XXE服务器自愿加载xml外部实体(如下所示)。

代码语言:javascript
复制
loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); 
$creds = simplexml_import_dom($dom); 
$user = $creds->user; 
$pass = $creds->pass; 
echo "You have logged in as user $user";?>

考虑到XXE注入攻击的风险以及这些攻击的可能性( a)泄露机密信息和/或b)执行远程代码执行(RCE),why是否会决定首先启用加载外部xml实体?

到目前为止,我还没有看到任何关于支持加载外部xml实体的动机的解释。这只是懒散的编码吗?无知?方便吗?

EN

回答 1

Security用户

发布于 2019-07-17 16:26:10

为什么web服务器开发人员/管理员首先决定启用加载外部xml实体?

通常,这不是显式启用,而是不知道问题所在,并使用具有不安全默认设置的库。默认情况下,许多库都启用了外部实体的加载。引用OWASP外部实体预防备忘表的话:

..。从libxml2版本2.9开始,默认情况下XXE已被禁用

这意味着在此之前它被启用了

..。草鱼-c.使用XercesDOMParser来防止.使用SAXParser,这样做可以防止.使用SAX2XMLReader,这样做可以防止.

,这表明默认情况下它是启用的。

..。大多数Java解析器的默认设置是启用XXE。

本文档中还有更多默认启用XXE的库。

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

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

复制
相关文章

相似问题

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