博客

安全编码技术。处理XML数据,第一部分

皮特-德-克雷默
发表于2017年12月10日

可扩展标记语言(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文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

查看资源
查看资源

XML和XML模式的规范包括多种安全缺陷。同时,这些规范提供了保护XML应用所需的工具。即使我们使用XML模式来定义XML文档的安全性,它们也可以被用来进行各种攻击。

想了解更多信息?

应用安全研究员-研发工程师-博士生

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。

预定一个演示
分享到
作者
皮特-德-克雷默
发表于2017年12月10日

应用安全研究员-研发工程师-博士生

分享到

可扩展标记语言(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文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

查看资源
查看资源

请填写下表下载报告

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

提交
要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。

可扩展标记语言(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文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

访问资源

点击下面的链接,下载本资料的 PDF 文件。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。

查看报告预定一个演示
下载PDF
查看资源
分享到
想了解更多信息?

分享到
作者
皮特-德-克雷默
发表于2017年12月10日

应用安全研究员-研发工程师-博士生

分享到

可扩展标记语言(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文档的安全性,它们也可以被用来进行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力强迫。

https://www.owasp.org/index.php/XML_Security_Cheat_Sheet

目录

下载PDF
查看资源
想了解更多信息?

应用安全研究员-研发工程师-博士生

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。

预定一个演示下载
分享到
资源中心
资源中心