SQL Injection
설명
대상 애플리케이션 서버의 백엔드 데이터베이스에 임의의 SQL 명령을 실행할 수 있습니다. SQL Injection은 데이터나 시스템 손상으로 이어질 수 있는 심각한 취약점입니다.
치료 방법
백엔드 데이터베이스 시스템에 요청을 보낼 때 항상 매개변수화된 쿼리를 사용하세요. 동적 쿼리를 작성해야 하는 경우 직접 사용자 입력을 사용하지 말고 유효한 값들의 맵이나 사전을 사용하고 사용자가 제공한 키를 사용하여 이를 해결하세요.
예를 들어, 일부 데이터베이스 드라이버는 >
또는 <
비교 연산자에 대해 매개변수화된 쿼리를 허용하지 않습니다. 이러한 경우 사용자 입력으로 >
또는 <
값을 사용하지 말고 사용자가 gt
또는 lt
값을 제공하도록 하세요. 알파벳 값을 사용하여 동적 쿼리를 작성할 때 >
및 <
값을 조회합니다. 열 또는 테이블 이름이 필요하지만 매개변수화할 수 없는 다른 쿼리에 대해서도 동일하게 적용됩니다.
세부 정보
ID | 집계 | CWE | 유형 | 위험 |
---|---|---|---|---|
89.1 | false | 89 | Active | high |