问题标签 [xxe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
51915 浏览

java - 使用 JAXB 防止 XXE 攻击

最近,我们对我们的代码进行了安全审计,其中一个问题是我们的应用程序受到了Xml eXternal Entity (XXE) 攻击。

基本上,该应用程序是一个计算器,它通过 Web 服务接收 XML 格式的输入。

这是对我们的应用程序进行此类 XXE 攻击的示例:

如您所见,我们可以引用指向外部文件 ( "file:///d:/") 的实体。

关于 XML 输入本身(<calcinput>...</calcinput>部分)是用 JAXB (v2.1) 解组的。Web 服务部分基于 jaxws-rt (2.1)。

我需要做什么来保护我的网络服务?

0 投票
1 回答
2646 浏览

c - 如何在 libxml2in C 中禁用 XXE?

要求:当我将以下请求传递给我的应用程序时,

1)如何对这样的输入xml进行XML验证,这是有风险的

2) 如何在 libxml2 中禁用 XXE 即不应该解析 ENTITY 字段

我了解从 libxml2 2.9 版开始,默认情况下禁用 XXE。但我们目前使用的是 2.7.7 版本。

根据此链接XML_ENTITY_PROCESSING

Enum xmlParserOption 不应在 libxml2 中定义以下选项:

XML_PARSE_NOENT:扩展实体并用替换文本替换它们 XML_PARSE_DTDLOAD:加载外部 DTD

到目前为止,我一直在使用xmlParseMemory函数来解析 XML 内存块并构建一棵树。该函数不带任何参数来设置 xmlParserOption。

然后我改为xmlReadMemory函数,它也与函数做同样的事情,xmlParseMemory但采用不同的参数。

我仍然观察到 ENTITY 字段正在被解析。有人可以帮我吗?如果您需要更多其他信息,请告诉我。

感谢您的时间。

问候

普拉文

0 投票
1 回答
7442 浏览

php - 对整个 PHP 版本中的 XXE 漏洞的澄清

我在这里发布一个问题作为最后的手段,我浏览了网络并进行了多次尝试但没有成功。

复制 XXE 攻击是我想要做的,以防止它们,但我似乎无法理解 PHP 处理 XML 实体的方式。作为记录,我在 Ubuntu 12.04 上使用 PHP 5.5.10,但我在 5.4 和 5.3 上做了一些测试,libxml2 似乎是 2.7.8 版本(似乎不包括默认不解析实体)。

在以下示例中,使用 true 或 false 调用 libxml_disable_entity_loader() 无效,或者我做错了什么。

但是,我可以专门将一些参数传递给 loadXML() 以允许一些选项,并且当实体是本地文件时有效,而不是当它是外部 URL 时。

现在,如果我们将实体更改为其他内容,如下例所示,实体已解析,但我根本无法使用参数或函数禁用它......发生了什么?!

我能找到的唯一方法是覆盖 DOMDocument 对象的属性。

  • resolveExternals 设置为 1
  • 替代实体设置为 1

然后他们解决了,或者没有。

总而言之,我真的很想了解我显然不了解的内容。为什么那些参数和函数似乎没有效果?libxml2 是否优先于 PHP?

非常感谢!

参考:

0 投票
1 回答
1789 浏览

javascript - XXE vulnerabilities in Javascript

Is it true (or at least makes sense) that one can have a XXE attack on Javascript? This is, when trying to parse XML with JS, does it process external entities? But this parsing is executed client side, am I right? What harm can it do to a server?

How can we prevent such attacks on Javascript XML DOM or Jquery or alike?

Thank you! Cheers

0 投票
1 回答
4618 浏览

java - 使用默认解析器的 JAXB XXE 攻击

这是关于在使用 JAXB API 时避免 XXE 攻击。我知道在使用 JAXB 时,可以覆盖默认解析机制,并且可以使用备用 SAX 解析器并设置实体功能以避免 XXE 攻击。但想了解默认解析器到底是什么,并在其上设置安全功能。有什么帮助吗?

0 投票
1 回答
89 浏览

xml - XML External Entity Vulnerability DoS 案例:何时发生扩展?

我正在开发一个将 XML 文件作为输入然后对其进行处理的应用程序。我们发现该应用程序容易受到 XXE DoS 攻击,即著名的 Billion Laughs 案例。在处理文件之前,会根据架构对其进行验证。所以,我的问题是,DoS 攻击会在验证期间发生吗?或者在验证期间,XML 实体没有被扩展,因此 DoS 攻击只会在验证之后发生,当验证文件被解析时?

0 投票
1 回答
561 浏览

xml - 在 JBoss EAP 5.0.1 下防止基于 Soap 的 Web 服务中的 XML 外部实体注入

我们将 JBoss EAP 5.0.1 与 JBoss WS 3.0.4 一起使用,我们正在尝试寻找一种解决方案来防止 XML 外部实体注入。除了将其升级到更高版本之外,如何解决此问题?

0 投票
1 回答
697 浏览

java - XXE 和十亿笑声

使用 xmlpullfactory 是否可以实现 xxe 和十亿笑?我尝试过下面的 xml 代码

使用下面的java代码解析上面的xml文件,使用kxml2-2.3.0.jar

输出为

可忽略的空白:

文档类型声明:

可忽略的空格:开始标签:作者

实体参考:js

实体参考值:空

结束标签:作者 可忽略的空白:

结束文件:空

但我想获得实体参考值作为 josmith。这会是什么问题?

0 投票
2 回答
14530 浏览

java - Veracode XML 外部实体参考 (XXE)

我在我的 veracode 报告中发现了下一个发现:XML 外部实体引用 ('XXE') (CWE ID 611) 的不当限制,指的是下面的下一个代码

...

...

我一直在研究,但我还没有找到这个发现的原因或让它消失的方法。你能告诉我怎么做吗?

0 投票
1 回答
577 浏览

java - Prevent XXE attack on jboss 4.2

Is it possible to prevent an xxe attack on web service deployed on jboss 4.2 somehow? WS is defined by annotation. I can not find any configuration to disable supporting external entities and dtd.

In this post (Prevent XXE Attack with JAXB) is a solution for parsing soap in servlet, but i need something for annotated WS.