데이터베이스 오류 메시지 생성에 민감한 정보가 포함됨

설명

애플리케이션에서 데이터베이스 오류 메시지가 반환되는 것으로 확인되었습니다. 데이터베이스의 유형을 결정하는 것은 시스템에 대한 SQL Injection 공격을 가하는 공격자를 돕습니다. 디버그 메시지는 개발 및 디버깅 중에 유용하지만 오류 발생 시 사용자에게 제공되어서는 안 됩니다.

문제 해결

애플리케이션은 데이터베이스 오류 조건을 내부적으로 처리하고 알려진 실패 유형을 오류 코드로 매핑하여 사용자에게 표시할 수 있도록 해야 합니다. 이러한 오류 코드는 애플리케이션에 맞게 사용자 정의되어야 하며 관련 HTTP 오류 코드와 함께 반환되어야 합니다.

오류가 발생하면 애플리케이션은 오류 유형 또는 클래스를 식별하고 해당하는 수치 값을 사용자에게 표시합니다. 또한 요청은 추적되어야 하므로 사용자가 오류 코드를 받으면 해당하는 요청 ID가 있어야 합니다. 지원팀은 그런 다음 로그 파일에서 HTTP 오류, 사용자 정의 오류 코드, 그리고 요청 ID를 상호 연관시켜 오류의 원인을 노출하지 않고 결정할 수 있습니다.

사용자 정의 오류 반환의 예시:

HTTP/1.1 500 Internal Server Error
...
Error [0004] 발생, 지원팀에 문의하시거나 잠시 후 요청을 다시 시도하세요.
Request ID [a4bc91def12]
...

Details

ID Aggregated CWE Type Risk
209.2 false 209 Passive Low