매우위험SW-IV-01CWE-89💉 SW-IV 입력데이터 검증 및 표현
SQL 삽입
SQL Injection
외부 입력값을 적절한 검증 없이 SQL 쿼리에 직접 사용하여 DB를 비정상적으로 조작할 수 있는 취약점
⚡ 발생 원인
사용자 입력을 문자열 연결로 SQL 쿼리 구성 시 발생
💥 보안 영향
DB 전체 열람·수정·삭제, 인증 우회, OS 명령 실행
취약한 코드 vs 안전한 코드
취약한 코드 (java)
// 취약한 코드 - 문자열 연결로 쿼리 구성 String query = "SELECT * FROM users WHERE id = '" + userId + "'"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); // userId = "' OR '1'='1" 입력 시 전체 데이터 노출
안전한 코드 (java)
// 안전한 코드 - PreparedStatement 사용 String query = "SELECT * FROM users WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(query); pstmt.setString(1, userId); ResultSet rs = pstmt.executeQuery();
🛡️
ISMS-P 인증기준 연계
2.10.1 보안 시스템 운영
🔬 AI 코드 진단
내 코드에 SQL 삽입 취약점이 있는지 바로 확인하세요
코드를 붙여넣으면 AI가 KISA 7대 보안약점 기준으로 SQL 삽입 등 취약점을 자동 분석합니다.
AI 코드 진단 실습 →전문가 보안 점검
SQL 삽입 등 SW 보안약점을 전문가가 직접 점검해드립니다
ISMS-P 선임심사원이 직접 수행하는 수탁사 보안성 검토 서비스입니다.
KISA SW 개발보안 가이드 기준으로 코드·시스템 전체를 점검하고 ISMS-P 심사 증적을 제공합니다.