SCW 아이콘
영웅 배경, 구분선 없음
블로그

安全编码技术:处理 XML 数据,第 1 部分

피터 드 크레머
2017년 12월 10일 게시
마지막 업데이트: 2026년 3월 9일

可扩展标记语言 (XML) 是一种标记语言,用于以一种易于机器处理和人类可读的格式对文档进行编码。但是,这种常用的格式包含多种安全漏洞。在第一篇与 XML 相关的博客文章中,我将解释使用架构安全处理 XML 文档的基础知识。

OWASP 将与 XML 和 XML 架构相关的不同漏洞分为两类。

XML 文档格式不正确

格式错误的 XML 文档是指不符合 W3C XML 规范的文档。导致文档格式错误的一些示例包括删除结尾标签、更改不同元素的顺序或使用禁用字符。所有这些错误都应导致致命错误,并且不应对文档进行任何额外处理。

为了避免由格式错误的文档导致的漏洞,您应该使用经过良好测试的 XML 解析器,该解析器遵循 W3C 规范,处理格式错误的文档的时间不会显著延长。

无效的 XML 文档

无效的 XML 文档格式正确,但包含意外值。在这里,攻击者可以利用未正确定义 XML 架构的应用程序来识别文档是否有效。以下是文档的简单示例,如果验证不正确,可能会产生意想不到的后果。

将交易存储在 XML 数据中的网络商店:

<purchase></purchase>
<id>123</id>
<price>200</price>

而且用户只能控制该<id>值。这样,如果没有正确的对策,攻击者就有可能输入这样的内容:</id>

<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>

如果处理此文档的解析器只读取<id>和<price>标签的第一个实例,这将导致不想要的结果</price></id>。

也可能是架构不够严格,或者其他输入验证不足,因此可以在意想不到的地方输入负数、特殊小数(如 NaN 或 Infinity)或超大值,从而导致类似的意外行为。

应通过定义精确且限制性的 XML 架构来避免与无效 XML 文档相关的漏洞,以避免数据验证不当的问题。

下一篇博客文章我们将介绍一些针对XML文档的更高级的攻击,例如巨型有效载荷和令人担忧的OWASP前十名第四名XXE。

同时,您可以磨练或挑战自己在 XML 输入验证方面的技能 在我们的门户网站上。

XML 和 XML 架构的规范包括多个安全漏洞。同时,这些规范提供了保护 XML 应用程序所需的工具。尽管我们使用 XML 架构来定义 XML 文档的安全性,但它们仍可用于执行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力破解。

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

리소스 보기
리소스 보기

XML 和 XML 架构的规范包括多个安全漏洞。同时,这些规范提供了保护 XML 应用程序所需的工具。尽管我们使用 XML 架构来定义 XML 文档的安全性,但它们仍可用于执行各种攻击。

더 많은 것에 관심이 있으신가요?

응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보

더 알아보세요

Secure Code Warrior는 조직이 소프트웨어 개발 생명주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 지원합니다. 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 수행하는 모든 분들에게, 저희는 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약
공유하기:
링크드인 브랜드사회적x 로고
저자
피터 드 크레머
2017년 12월 10일 게시

응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보

공유하기:
링크드인 브랜드사회적x 로고

可扩展标记语言 (XML) 是一种标记语言,用于以一种易于机器处理和人类可读的格式对文档进行编码。但是,这种常用的格式包含多种安全漏洞。在第一篇与 XML 相关的博客文章中,我将解释使用架构安全处理 XML 文档的基础知识。

OWASP 将与 XML 和 XML 架构相关的不同漏洞分为两类。

XML 文档格式不正确

格式错误的 XML 文档是指不符合 W3C XML 规范的文档。导致文档格式错误的一些示例包括删除结尾标签、更改不同元素的顺序或使用禁用字符。所有这些错误都应导致致命错误,并且不应对文档进行任何额外处理。

为了避免由格式错误的文档导致的漏洞,您应该使用经过良好测试的 XML 解析器,该解析器遵循 W3C 规范,处理格式错误的文档的时间不会显著延长。

无效的 XML 文档

无效的 XML 文档格式正确,但包含意外值。在这里,攻击者可以利用未正确定义 XML 架构的应用程序来识别文档是否有效。以下是文档的简单示例,如果验证不正确,可能会产生意想不到的后果。

将交易存储在 XML 数据中的网络商店:

<purchase></purchase>
<id>123</id>
<price>200</price>

而且用户只能控制该<id>值。这样,如果没有正确的对策,攻击者就有可能输入这样的内容:</id>

<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>

如果处理此文档的解析器只读取<id>和<price>标签的第一个实例,这将导致不想要的结果</price></id>。

也可能是架构不够严格,或者其他输入验证不足,因此可以在意想不到的地方输入负数、特殊小数(如 NaN 或 Infinity)或超大值,从而导致类似的意外行为。

应通过定义精确且限制性的 XML 架构来避免与无效 XML 文档相关的漏洞,以避免数据验证不当的问题。

下一篇博客文章我们将介绍一些针对XML文档的更高级的攻击,例如巨型有效载荷和令人担忧的OWASP前十名第四名XXE。

同时,您可以磨练或挑战自己在 XML 输入验证方面的技能 在我们的门户网站上。

XML 和 XML 架构的规范包括多个安全漏洞。同时,这些规范提供了保护 XML 应用程序所需的工具。尽管我们使用 XML 架构来定义 XML 文档的安全性,但它们仍可用于执行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力破解。

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

리소스 보기
리소스 보기

아래 양식을 작성하여 보고서를 다운로드하세요

귀하의 허락을 받아 저희 제품 및/또는 관련 보안 코딩 주제에 관한 정보를 보내드리고자 합니다. 귀하의 개인정보는 항상 매우 신중하게 취급되며, 마케팅 목적으로 타사에 판매하지 않을 것을 약속드립니다.

제출
scw 성공 아이콘
scw 오류 아이콘
양식을 제출하려면 "분석" 쿠키를 활성화하십시오. 완료 후에는 원할 때 다시 비활성화할 수 있습니다.

可扩展标记语言 (XML) 是一种标记语言,用于以一种易于机器处理和人类可读的格式对文档进行编码。但是,这种常用的格式包含多种安全漏洞。在第一篇与 XML 相关的博客文章中,我将解释使用架构安全处理 XML 文档的基础知识。

OWASP 将与 XML 和 XML 架构相关的不同漏洞分为两类。

XML 文档格式不正确

格式错误的 XML 文档是指不符合 W3C XML 规范的文档。导致文档格式错误的一些示例包括删除结尾标签、更改不同元素的顺序或使用禁用字符。所有这些错误都应导致致命错误,并且不应对文档进行任何额外处理。

为了避免由格式错误的文档导致的漏洞,您应该使用经过良好测试的 XML 解析器,该解析器遵循 W3C 规范,处理格式错误的文档的时间不会显著延长。

无效的 XML 文档

无效的 XML 文档格式正确,但包含意外值。在这里,攻击者可以利用未正确定义 XML 架构的应用程序来识别文档是否有效。以下是文档的简单示例,如果验证不正确,可能会产生意想不到的后果。

将交易存储在 XML 数据中的网络商店:

<purchase></purchase>
<id>123</id>
<price>200</price>

而且用户只能控制该<id>值。这样,如果没有正确的对策,攻击者就有可能输入这样的内容:</id>

<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>

如果处理此文档的解析器只读取<id>和<price>标签的第一个实例,这将导致不想要的结果</price></id>。

也可能是架构不够严格,或者其他输入验证不足,因此可以在意想不到的地方输入负数、特殊小数(如 NaN 或 Infinity)或超大值,从而导致类似的意外行为。

应通过定义精确且限制性的 XML 架构来避免与无效 XML 文档相关的漏洞,以避免数据验证不当的问题。

下一篇博客文章我们将介绍一些针对XML文档的更高级的攻击,例如巨型有效载荷和令人担忧的OWASP前十名第四名XXE。

同时,您可以磨练或挑战自己在 XML 输入验证方面的技能 在我们的门户网站上。

XML 和 XML 架构的规范包括多个安全漏洞。同时,这些规范提供了保护 XML 应用程序所需的工具。尽管我们使用 XML 架构来定义 XML 文档的安全性,但它们仍可用于执行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力破解。

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

웹 세미나 시청
시작하자
더 알아보세요

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.

Secure Code Warrior는 조직이 소프트웨어 개발 생명주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 지원합니다. 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 수행하는 모든 분들에게, 저희는 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

보고서 보기데모 예약
리소스 보기
공유하기:
링크드인 브랜드사회적x 로고
더 많은 것에 관심이 있으신가요?

공유하기:
링크드인 브랜드사회적x 로고
저자
피터 드 크레머
2017년 12월 10일 게시

응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보

공유하기:
링크드인 브랜드사회적x 로고

可扩展标记语言 (XML) 是一种标记语言,用于以一种易于机器处理和人类可读的格式对文档进行编码。但是,这种常用的格式包含多种安全漏洞。在第一篇与 XML 相关的博客文章中,我将解释使用架构安全处理 XML 文档的基础知识。

OWASP 将与 XML 和 XML 架构相关的不同漏洞分为两类。

XML 文档格式不正确

格式错误的 XML 文档是指不符合 W3C XML 规范的文档。导致文档格式错误的一些示例包括删除结尾标签、更改不同元素的顺序或使用禁用字符。所有这些错误都应导致致命错误,并且不应对文档进行任何额外处理。

为了避免由格式错误的文档导致的漏洞,您应该使用经过良好测试的 XML 解析器,该解析器遵循 W3C 规范,处理格式错误的文档的时间不会显著延长。

无效的 XML 文档

无效的 XML 文档格式正确,但包含意外值。在这里,攻击者可以利用未正确定义 XML 架构的应用程序来识别文档是否有效。以下是文档的简单示例,如果验证不正确,可能会产生意想不到的后果。

将交易存储在 XML 数据中的网络商店:

<purchase></purchase>
<id>123</id>
<price>200</price>

而且用户只能控制该<id>值。这样,如果没有正确的对策,攻击者就有可能输入这样的内容:</id>

<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>

如果处理此文档的解析器只读取<id>和<price>标签的第一个实例,这将导致不想要的结果</price></id>。

也可能是架构不够严格,或者其他输入验证不足,因此可以在意想不到的地方输入负数、特殊小数(如 NaN 或 Infinity)或超大值,从而导致类似的意外行为。

应通过定义精确且限制性的 XML 架构来避免与无效 XML 文档相关的漏洞,以避免数据验证不当的问题。

下一篇博客文章我们将介绍一些针对XML文档的更高级的攻击,例如巨型有效载荷和令人担忧的OWASP前十名第四名XXE。

同时,您可以磨练或挑战自己在 XML 输入验证方面的技能 在我们的门户网站上。

XML 和 XML 架构的规范包括多个安全漏洞。同时,这些规范提供了保护 XML 应用程序所需的工具。尽管我们使用 XML 架构来定义 XML 文档的安全性,但它们仍可用于执行各种攻击:文件检索、服务器端请求伪造、端口扫描或暴力破解。

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

목록

PDF 다운로드
리소스 보기
더 많은 것에 관심이 있으신가요?

응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보

더 알아보세요

Secure Code Warrior는 조직이 소프트웨어 개발 생명주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 지원합니다. 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 수행하는 모든 분들에게, 저희는 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약다운로드
공유하기:
링크드인 브랜드사회적x 로고
자원 센터

시작하는 데 도움이 되는 자료

더 많은 게시물
자원 센터

시작하는 데 도움이 되는 자료

더 많은 게시물