안전한 코딩 기술: XML 데이터 처리, 1부
XML(확장 가능한 Markup 언어)은 기계와 사람이 읽을 수 있는 형식으로 문서를 인코딩하는 데 사용되는 태그 언어입니다. 그러나 일반적으로 사용되는 이 형식에는 여러 보안 결함이 포함됩니다. 이 첫 번째 XML 관련 블로그 게시물에서 스키마를 사용하여 XML 문서를 안전하게 처리하는 기본 사항에 대해 설명합니다.
OWASP는 XML 및 XML 스키마와 관련된 다양한 취약점을 두 범주로 나눕니다.
잘못된 XML 문서
잘못된 XML 문서는 W3C XML 사양을 따르지 않는 문서입니다. 잘못된 문서로 인해 다른 요소의 순서를 변경하거나 금지된 문자의 사용이 끝나는 태그를 제거하는 몇 가지 예가 있습니다. 이러한 모든 오류는 치명적인 오류가 발생해야 하며 문서는 추가 처리를 거치지 않아야 합니다.
잘못된 문서로 인한 취약점을 방지하기 위해 W3C 사양을 따르고 잘못된 문서를 처리하는 데 훨씬 더 오래 걸리지 않는 잘 테스트된 XML 파서를 사용해야 합니다.
잘못된 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 스키마를 정의하여 수행해야 합니다.
다음 블로그 게시물 우리는 점보 페이로드와 두려워 OWASP 상위 10 번호 4, XXE와 같은 XML 문서에 대한 몇 가지 고급 공격에 갈 것입니다.
그 동안 포털에서 XML 입력 유효성 검사에 대한 기술을 연마하거나 이의를 제기할 수 있습니다.
XML 및 XML 스키마에 대한 사양에는 여러 보안 결함이 포함됩니다. 동시에 이러한 사양은 XML 응용 프로그램을 보호하는 데 필요한 도구를 제공합니다. XML 스키마를 사용하여 XML 문서의 보안을 정의하더라도 파일 검색, 서버 측 요청 위조, 포트 스캐닝 또는 무차별 강제 등 다양한 공격을 수행하는 데 사용할 수 있습니다.
XML 및 XML 스키마에 대한 사양에는 여러 보안 결함이 포함됩니다. 동시에 이러한 사양은 XML 응용 프로그램을 보호하는 데 필요한 도구를 제공합니다. XML 스키마를 사용하여 XML 문서의 보안을 정의하더라도 다양한 공격을 수행하는 데 사용할 수 있습니다.
응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보
Secure Code Warrior 는 전체 소프트웨어 개발 수명 주기에서 코드를 보호하고 사이버 보안을 최우선으로 생각하는 문화를 조성할 수 있도록 도와드립니다. 앱 보안 관리자, 개발자, CISO 등 보안과 관련된 모든 사람이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 도와드릴 수 있습니다.
데모 예약응용 프로그램 보안 연구원 - R&D 엔지니어 - 박사 후보
XML(확장 가능한 Markup 언어)은 기계와 사람이 읽을 수 있는 형식으로 문서를 인코딩하는 데 사용되는 태그 언어입니다. 그러나 일반적으로 사용되는 이 형식에는 여러 보안 결함이 포함됩니다. 이 첫 번째 XML 관련 블로그 게시물에서 스키마를 사용하여 XML 문서를 안전하게 처리하는 기본 사항에 대해 설명합니다.
OWASP는 XML 및 XML 스키마와 관련된 다양한 취약점을 두 범주로 나눕니다.
잘못된 XML 문서
잘못된 XML 문서는 W3C XML 사양을 따르지 않는 문서입니다. 잘못된 문서로 인해 다른 요소의 순서를 변경하거나 금지된 문자의 사용이 끝나는 태그를 제거하는 몇 가지 예가 있습니다. 이러한 모든 오류는 치명적인 오류가 발생해야 하며 문서는 추가 처리를 거치지 않아야 합니다.
잘못된 문서로 인한 취약점을 방지하기 위해 W3C 사양을 따르고 잘못된 문서를 처리하는 데 훨씬 더 오래 걸리지 않는 잘 테스트된 XML 파서를 사용해야 합니다.
잘못된 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 스키마를 정의하여 수행해야 합니다.
다음 블로그 게시물 우리는 점보 페이로드와 두려워 OWASP 상위 10 번호 4, XXE와 같은 XML 문서에 대한 몇 가지 고급 공격에 갈 것입니다.
그 동안 포털에서 XML 입력 유효성 검사에 대한 기술을 연마하거나 이의를 제기할 수 있습니다.
XML 및 XML 스키마에 대한 사양에는 여러 보안 결함이 포함됩니다. 동시에 이러한 사양은 XML 응용 프로그램을 보호하는 데 필요한 도구를 제공합니다. XML 스키마를 사용하여 XML 문서의 보안을 정의하더라도 파일 검색, 서버 측 요청 위조, 포트 스캐닝 또는 무차별 강제 등 다양한 공격을 수행하는 데 사용할 수 있습니다.
XML(확장 가능한 Markup 언어)은 기계와 사람이 읽을 수 있는 형식으로 문서를 인코딩하는 데 사용되는 태그 언어입니다. 그러나 일반적으로 사용되는 이 형식에는 여러 보안 결함이 포함됩니다. 이 첫 번째 XML 관련 블로그 게시물에서 스키마를 사용하여 XML 문서를 안전하게 처리하는 기본 사항에 대해 설명합니다.
OWASP는 XML 및 XML 스키마와 관련된 다양한 취약점을 두 범주로 나눕니다.
잘못된 XML 문서
잘못된 XML 문서는 W3C XML 사양을 따르지 않는 문서입니다. 잘못된 문서로 인해 다른 요소의 순서를 변경하거나 금지된 문자의 사용이 끝나는 태그를 제거하는 몇 가지 예가 있습니다. 이러한 모든 오류는 치명적인 오류가 발생해야 하며 문서는 추가 처리를 거치지 않아야 합니다.
잘못된 문서로 인한 취약점을 방지하기 위해 W3C 사양을 따르고 잘못된 문서를 처리하는 데 훨씬 더 오래 걸리지 않는 잘 테스트된 XML 파서를 사용해야 합니다.
잘못된 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 스키마를 정의하여 수행해야 합니다.
다음 블로그 게시물 우리는 점보 페이로드와 두려워 OWASP 상위 10 번호 4, XXE와 같은 XML 문서에 대한 몇 가지 고급 공격에 갈 것입니다.
그 동안 포털에서 XML 입력 유효성 검사에 대한 기술을 연마하거나 이의를 제기할 수 있습니다.
XML 및 XML 스키마에 대한 사양에는 여러 보안 결함이 포함됩니다. 동시에 이러한 사양은 XML 응용 프로그램을 보호하는 데 필요한 도구를 제공합니다. XML 스키마를 사용하여 XML 문서의 보안을 정의하더라도 파일 검색, 서버 측 요청 위조, 포트 스캐닝 또는 무차별 강제 등 다양한 공격을 수행하는 데 사용할 수 있습니다.
XML(확장 가능한 Markup 언어)은 기계와 사람이 읽을 수 있는 형식으로 문서를 인코딩하는 데 사용되는 태그 언어입니다. 그러나 일반적으로 사용되는 이 형식에는 여러 보안 결함이 포함됩니다. 이 첫 번째 XML 관련 블로그 게시물에서 스키마를 사용하여 XML 문서를 안전하게 처리하는 기본 사항에 대해 설명합니다.
OWASP는 XML 및 XML 스키마와 관련된 다양한 취약점을 두 범주로 나눕니다.
잘못된 XML 문서
잘못된 XML 문서는 W3C XML 사양을 따르지 않는 문서입니다. 잘못된 문서로 인해 다른 요소의 순서를 변경하거나 금지된 문자의 사용이 끝나는 태그를 제거하는 몇 가지 예가 있습니다. 이러한 모든 오류는 치명적인 오류가 발생해야 하며 문서는 추가 처리를 거치지 않아야 합니다.
잘못된 문서로 인한 취약점을 방지하기 위해 W3C 사양을 따르고 잘못된 문서를 처리하는 데 훨씬 더 오래 걸리지 않는 잘 테스트된 XML 파서를 사용해야 합니다.
잘못된 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 스키마를 정의하여 수행해야 합니다.
다음 블로그 게시물 우리는 점보 페이로드와 두려워 OWASP 상위 10 번호 4, XXE와 같은 XML 문서에 대한 몇 가지 고급 공격에 갈 것입니다.
그 동안 포털에서 XML 입력 유효성 검사에 대한 기술을 연마하거나 이의를 제기할 수 있습니다.
XML 및 XML 스키마에 대한 사양에는 여러 보안 결함이 포함됩니다. 동시에 이러한 사양은 XML 응용 프로그램을 보호하는 데 필요한 도구를 제공합니다. XML 스키마를 사용하여 XML 문서의 보안을 정의하더라도 파일 검색, 서버 측 요청 위조, 포트 스캐닝 또는 무차별 강제 등 다양한 공격을 수행하는 데 사용할 수 있습니다.