← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 3회 · 정보시스템 구축 관리 · SQL 삽입 공격 · 87번
다음 로그인 처리의 취약점과 직접적인 개선 방법을 바르게 연결한 것은?
sql = "SELECT user_id FROM member " +
"WHERE login_id='" + id + "' " +
"AND password_hash='" + hash + "'";
입력 id: ' OR '1'='1' --
- 1
저장형 XSS — HTML 태그만 정규식으로 삭제한다.
오답 이유공격 대상은 브라우저의 HTML 해석이 아니라 서버가 실행하는 SQL 구조다. - 2
SQL Injection — SQL 구조와 입력값을 분리하는 준비된 문장과 바인드 변수를 사용한다.
정답 근거입력과 SQL 구문을 분리하면 공격 문자열이 조건식이나 주석으로 실행되지 않는다. - 3
CSRF — 모든 SELECT 문을 GET 요청으로 바꾼다.
오답 이유CSRF는 사용자의 인증 상태를 악용한 요청 위조이며 HTTP 메서드 변경만으로 해결되지 않는다. - 4
세션 고정 — 데이터베이스 인덱스를 제거한다.
오답 이유세션 식별자 고정 공격과 SQL 문자열 결합은 다른 취약점이다.
정답·상세해설정답 2번
입력값을 SQL 문자열에 직접 연결해 따옴표와 주석이 SQL 구조로 해석될 수 있으므로 SQL Injection이다. 준비된 문장과 바인드 변수는 입력을 SQL 코드가 아닌 값으로 전달한다. 비밀번호는 별도의 안전한 KDF 검증 절차를 사용하는 것이 바람직하다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-16