
Technique de codage sécurisé : traitement des données XML, partie 1
可扩展标记语言(XML)是一种标记语言,用于对文件进行编码,其格式既便于机器处理又便于人类阅读。然而,这种常用的格式包括多种安全缺陷。在这篇与XML有关的第一篇博文中,我将解释通过使用模式安全处理XML文档的基本知识。
OWASP将与XML和XML模式有关的不同漏洞分为两类。
畸形的XML文件
畸形的XML文档是不遵循W3C XML规范的文档。导致畸形文档的一些例子是删除了一个结尾标签,改变了不同元素的顺序或使用了禁止的字符。所有这些错误都应该导致一个致命的错误,并且该文档不应该进行任何额外的处理。
为了避免由畸形文档引起的漏洞,你应该使用一个经过良好测试的XML解析器,该解析器遵循W3C规范,处理畸形文档的时间不会明显延长。
无效的XML文件
无效的XML文档形成得很好,但包含了意想不到的值。在这里,攻击者可能会利用那些没有正确定义XML模式的应用程序来识别文档是否有效。下面你可以找到一个简单的例子,如果不正确验证,可能会产生意想不到的后果。
一个网络商店,以XML数据存储其交易。
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

也有可能是模式的限制性不够,或者其他输入验证不充分,所以负数、特殊小数(如NaN或Infinity)或过大的数值可以被输入到不期望的地方,导致类似的非预期行为。
避免与无效的XML文档有关的漏洞应该通过定义精确和限制性的XML Schema来完成,以避免数据验证不当的问题。
下一篇博文我们将讨论一些针对XML文档的更高级的攻击,如Jumbo Payloads和令人恐惧的OWASP十大排名第四的XXE。
同时,你可以在我们的门户网站上磨练或挑战你在XML输入验证方面的技能。
XML和XML模式的规范包括多种安全缺陷。同时,这些规范提供了保护XML应用所需的工具。即使我们使用XML模式来定义XML文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。


Les spécifications relatives au XML et aux schémas XML incluent de multiples failles de sécurité. Dans le même temps, ces spécifications fournissent les outils nécessaires pour protéger les applications XML. Même si nous utilisons des schémas XML pour définir la sécurité des documents XML, ils peuvent être utilisés pour effectuer diverses attaques.
Chercheur en sécurité des applications - Ingénieur R&D - Candidat au doctorat

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。
预约演示Chercheur en sécurité des applications - Ingénieur R&D - Candidat au doctorat


可扩展标记语言(XML)是一种标记语言,用于对文件进行编码,其格式既便于机器处理又便于人类阅读。然而,这种常用的格式包括多种安全缺陷。在这篇与XML有关的第一篇博文中,我将解释通过使用模式安全处理XML文档的基本知识。
OWASP将与XML和XML模式有关的不同漏洞分为两类。
畸形的XML文件
畸形的XML文档是不遵循W3C XML规范的文档。导致畸形文档的一些例子是删除了一个结尾标签,改变了不同元素的顺序或使用了禁止的字符。所有这些错误都应该导致一个致命的错误,并且该文档不应该进行任何额外的处理。
为了避免由畸形文档引起的漏洞,你应该使用一个经过良好测试的XML解析器,该解析器遵循W3C规范,处理畸形文档的时间不会明显延长。
无效的XML文件
无效的XML文档形成得很好,但包含了意想不到的值。在这里,攻击者可能会利用那些没有正确定义XML模式的应用程序来识别文档是否有效。下面你可以找到一个简单的例子,如果不正确验证,可能会产生意想不到的后果。
一个网络商店,以XML数据存储其交易。
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

也有可能是模式的限制性不够,或者其他输入验证不充分,所以负数、特殊小数(如NaN或Infinity)或过大的数值可以被输入到不期望的地方,导致类似的非预期行为。
避免与无效的XML文档有关的漏洞应该通过定义精确和限制性的XML Schema来完成,以避免数据验证不当的问题。
下一篇博文我们将讨论一些针对XML文档的更高级的攻击,如Jumbo Payloads和令人恐惧的OWASP十大排名第四的XXE。
同时,你可以在我们的门户网站上磨练或挑战你在XML输入验证方面的技能。
XML和XML模式的规范包括多种安全缺陷。同时,这些规范提供了保护XML应用所需的工具。即使我们使用XML模式来定义XML文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。

可扩展标记语言(XML)是一种标记语言,用于对文件进行编码,其格式既便于机器处理又便于人类阅读。然而,这种常用的格式包括多种安全缺陷。在这篇与XML有关的第一篇博文中,我将解释通过使用模式安全处理XML文档的基本知识。
OWASP将与XML和XML模式有关的不同漏洞分为两类。
畸形的XML文件
畸形的XML文档是不遵循W3C XML规范的文档。导致畸形文档的一些例子是删除了一个结尾标签,改变了不同元素的顺序或使用了禁止的字符。所有这些错误都应该导致一个致命的错误,并且该文档不应该进行任何额外的处理。
为了避免由畸形文档引起的漏洞,你应该使用一个经过良好测试的XML解析器,该解析器遵循W3C规范,处理畸形文档的时间不会明显延长。
无效的XML文件
无效的XML文档形成得很好,但包含了意想不到的值。在这里,攻击者可能会利用那些没有正确定义XML模式的应用程序来识别文档是否有效。下面你可以找到一个简单的例子,如果不正确验证,可能会产生意想不到的后果。
一个网络商店,以XML数据存储其交易。
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

也有可能是模式的限制性不够,或者其他输入验证不充分,所以负数、特殊小数(如NaN或Infinity)或过大的数值可以被输入到不期望的地方,导致类似的非预期行为。
避免与无效的XML文档有关的漏洞应该通过定义精确和限制性的XML Schema来完成,以避免数据验证不当的问题。
下一篇博文我们将讨论一些针对XML文档的更高级的攻击,如Jumbo Payloads和令人恐惧的OWASP十大排名第四的XXE。
同时,你可以在我们的门户网站上磨练或挑战你在XML输入验证方面的技能。
XML和XML模式的规范包括多种安全缺陷。同时,这些规范提供了保护XML应用所需的工具。即使我们使用XML模式来定义XML文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。
可扩展标记语言(XML)是一种标记语言,用于对文件进行编码,其格式既便于机器处理又便于人类阅读。然而,这种常用的格式包括多种安全缺陷。在这篇与XML有关的第一篇博文中,我将解释通过使用模式安全处理XML文档的基本知识。
OWASP将与XML和XML模式有关的不同漏洞分为两类。
畸形的XML文件
畸形的XML文档是不遵循W3C XML规范的文档。导致畸形文档的一些例子是删除了一个结尾标签,改变了不同元素的顺序或使用了禁止的字符。所有这些错误都应该导致一个致命的错误,并且该文档不应该进行任何额外的处理。
为了避免由畸形文档引起的漏洞,你应该使用一个经过良好测试的XML解析器,该解析器遵循W3C规范,处理畸形文档的时间不会明显延长。
无效的XML文件
无效的XML文档形成得很好,但包含了意想不到的值。在这里,攻击者可能会利用那些没有正确定义XML模式的应用程序来识别文档是否有效。下面你可以找到一个简单的例子,如果不正确验证,可能会产生意想不到的后果。
一个网络商店,以XML数据存储其交易。
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>

也有可能是模式的限制性不够,或者其他输入验证不充分,所以负数、特殊小数(如NaN或Infinity)或过大的数值可以被输入到不期望的地方,导致类似的非预期行为。
避免与无效的XML文档有关的漏洞应该通过定义精确和限制性的XML Schema来完成,以避免数据验证不当的问题。
下一篇博文我们将讨论一些针对XML文档的更高级的攻击,如Jumbo Payloads和令人恐惧的OWASP十大排名第四的XXE。
同时,你可以在我们的门户网站上磨练或挑战你在XML输入验证方面的技能。
XML和XML模式的规范包括多种安全缺陷。同时,这些规范提供了保护XML应用所需的工具。即使我们使用XML模式来定义XML文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。




%20(1).avif)
.avif)
