다음 로그인 처리의 취약점과 직접적인 개선 방법을 바르게 연결한 것은?
sql = "SELECT user_id FROM member " +
"WHERE login_id='" + id + "' " +
"AND password_hash='" + hash + "'";
입력 id: ' OR '1'='1' --정답 2번
입력값을 SQL 문자열에 직접 연결해 따옴표와 주석이 SQL 구조로 해석될 수 있으므로 SQL Injection이다. 준비된 문장과 바인드 변수는 입력을 SQL 코드가 아닌 값으로 전달한다. 비밀번호는 별도의 안전한 KDF 검증 절차를 사용하는 것이 바람직하다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-16