SQL Injection·Prepared statement 단계별 흐름 문자열 입력이 어떻게 SQL query의 문법을 바꿀까요? 사용자 입력이 form이나 직접 만든 HTTP request로 들어옵니다. → Application이 입력을 SQL 문자열에 이어 붙입니다. → 입력 안의 quote와 SQL operator가 parser가 보는 query 구조를 바꿉니다. → 조건 우회·data 유출·수정·삭제 같은 impact가 발생할 수 있습니다. → Prepared statement는 SQL 구조를 먼저 고정하고 값을 parameter로 별도 전달합니다. → HTML escaping이 아니라 database driver의 parameter binding을 사용해야 합니다. 문자열 입력이 어떻게 SQL query의 문법을 바꿀까요? 화살표를 왼쪽에서 오른쪽으로 따라가며 입력·처리·결과를 확인하세요. 1 사용자 입력이form이나 직접 만든HTTP request로들어옵니다. 2 Application이입력을 SQL 문자열에이어 붙입니다. 3 입력 안의 quote와SQL operator가parser가 보는query 구조를바꿉니다. 4 조건 우회·data유출·수정·삭제 같은impact가 발생할 수있습니다. 5 Preparedstatement는SQL 구조를 먼저고정하고 값을parameter로 별도전달합니다. 6 HTMLescaping이 아니라databasedriver의parameterbinding을 사용해야 시험 읽기 순서 등장 주체 또는 입력 → 처리 규칙 → 보안 효과 → 조건과 한계