데이터베이스 오류 메시지 생성

설명

응용 프로그램에서 데이터베이스 오류 메시지가 반환되는 것으로 확인되었습니다. 데이터베이스의 유형을 결정하는 것은 시스템에 대한 SQL Injection 공격을 수행하는 공격자에게 도움이 될 수 있습니다. 디버그 메시지는 개발 및 디버깅 중에 유용하지만 오류 발생 시 사용자에게 표시되어서는 안 됩니다.

수리

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

오류가 발생하면 응용 프로그램은 오류 유형 또는 클래스를 식별하고 사용자에게 숫자 값으로 표시합니다. 또한 요청은 추적되어, 사용자가 오류 코드를 받으면 해당 요청 ID가 있어야 합니다. 지원 팀은 로그 파일에서 HTTP 오류, 사용자 정의 오류 코드 및 요청 ID를 상호 연관하여 오류의 근본 원인을 노출하지 않고 결정할 수 있습니다.

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

HTTP/1.1 500 Internal Server Error
...
오류 [0004]가 발생했습니다. 지원팀에 문의하거나 잠시 후에 요청을 다시 시도하십시오.
요청 ID [a4bc91def12]
...

Details

ID Aggregated CWE Type Risk
209.2 false 209 Passive Low

링크