계: Input Validation and Representation
입력 검증 및 표현 문제는 메타 문자, 대체 인코딩 및 숫자 표현 때문에 발생합니다. 보안 문제는 입력을 신뢰하기 때문에 발생합니다. 문제로는 "Buffer Overflows", "Cross-Site Scripting" 공격, "SQL Injection", 그 외 여러 가지가 있습니다.
Struts 2: Duplicate Validation Files
Abstract
Multiple Struts2 Validation 파일은 이 작업을 위한 것입니다. Validation Form(검증 폼)이 여럿 있다는 것은 검증이 최신이 아님을 나타냅니다.
Explanation
둘 이상의 ActionClass-validation.xml 파일이 이 Struts2 Action 정의에 대해 발견되었습니다. ActionClass의 폼으로 정의된 각 Struts2 Action에 대해 Struts2는 필요한 검증 제약 조건의 해당 ActionClass-validation.xml을 검색합니다. 배포에 하나의 작업에 대해 검증 정의가 여럿 있으면 예기치 못한 동작이 발생할 수 있습니다.
이름이 같은 Validation Form(검증 폼)이 두 개 있는 경우 Struts 유효성 검사기는 임의로 폼 중 하나를 선택하여 입력값 검증에 사용하고 나머지는 삭제합니다. 이 결정은 프로그래머의 예상과 일치하지 않을 수 있습니다. 뿐만 아니라, 검증 로직을 유지 관리하고 있지 않다는 것을 의미하고 다른 더 복잡한 검증 오류가 존재한다는 것을 의미할 수도 있습니다.
검증 로직을 유지 관리하고 응용 프로그램의 나머지 부분과 동기화하는 것은 매우 중요합니다. 검증되지 않은 입력은 오늘날 가장 빈번하게 발생하고 가장 심각한 소프트웨어 보안 문제의 원인입니다. Cross-site scripting, SQL injection 및 process control 취약점은 모두 입력값 검증이 불완전하거나 없는 것에서 비롯됩니다. J2EE 응용 프로그램은 보통 메모리 손상 공격에는 취약하지 않지만 J2EE 응용 프로그램이 배열 범위 검사를 수행하지 않는 네이티브 코드와 상호 작용하는 경우, 공격자가 J2EE 응용 프로그램의 입력값 검증 실수를 이용하여 buffer overflow 공격을 가할 수 있습니다.
이름이 같은 Validation Form(검증 폼)이 두 개 있는 경우 Struts 유효성 검사기는 임의로 폼 중 하나를 선택하여 입력값 검증에 사용하고 나머지는 삭제합니다. 이 결정은 프로그래머의 예상과 일치하지 않을 수 있습니다. 뿐만 아니라, 검증 로직을 유지 관리하고 있지 않다는 것을 의미하고 다른 더 복잡한 검증 오류가 존재한다는 것을 의미할 수도 있습니다.
검증 로직을 유지 관리하고 응용 프로그램의 나머지 부분과 동기화하는 것은 매우 중요합니다. 검증되지 않은 입력은 오늘날 가장 빈번하게 발생하고 가장 심각한 소프트웨어 보안 문제의 원인입니다. Cross-site scripting, SQL injection 및 process control 취약점은 모두 입력값 검증이 불완전하거나 없는 것에서 비롯됩니다. J2EE 응용 프로그램은 보통 메모리 손상 공격에는 취약하지 않지만 J2EE 응용 프로그램이 배열 범위 검사를 수행하지 않는 네이티브 코드와 상호 작용하는 경우, 공격자가 J2EE 응용 프로그램의 입력값 검증 실수를 이용하여 buffer overflow 공격을 가할 수 있습니다.
References
[1] T. Husted et al. Struts in Action: Building Web Applications with the Leading Java Framework Manning Publications
[2] The Struts2 Validation Framework The Apache Foundation
[3] Standards Mapping - Common Weakness Enumeration CWE ID 101
[4] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-002754
[5] Standards Mapping - FIPS200 CM
[6] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[7] Standards Mapping - NIST Special Publication 800-53 Revision 4 SI-10 Information Input Validation (P1)
[8] Standards Mapping - NIST Special Publication 800-53 Revision 5 SI-10 Information Input Validation
[9] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[10] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[11] Standards Mapping - OWASP Top 10 2004 A10 Insecure Configuration Management
[12] Standards Mapping - OWASP Top 10 2010 A6 Security Misconfiguration
[13] Standards Mapping - OWASP Top 10 2013 A5 Security Misconfiguration
[14] Standards Mapping - OWASP Top 10 2017 A6 Security Misconfiguration
[15] Standards Mapping - OWASP Top 10 2021 A05 Security Misconfiguration
[16] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.10
[17] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 4.2 - Critical Asset Protection
[18] 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
[19] 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
[20] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3510 CAT I
[21] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3510 CAT I
[22] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3510 CAT I
[23] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3510 CAT I
[24] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3510 CAT I
[25] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3510 CAT I
[26] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3510 CAT I
[27] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002560 CAT I
[28] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002560 CAT I
[29] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002560 CAT I
[30] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002560 CAT I
[31] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002560 CAT I
[32] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002560 CAT I
[33] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002560 CAT I
[34] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002560 CAT I
[35] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002560 CAT I
[36] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002560 CAT I
[37] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002560 CAT I
[38] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002560 CAT I
[39] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002560 CAT I
[40] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[41] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-002530 CAT II, APSC-DV-002560 CAT I
[42] Standards Mapping - Web Application Security Consortium Version 2.00 Application Misconfiguration (WASC-15)
desc.structural.java.struts2_duplicate_validation_files