SQL - 문제 미리보기

문제 1801

easy
다음 중 전형적인 SQL Injection 공격 입력은? 상황: 사용자 ID 입력 필드에 다음 중 어떤 값을 입력하면 모든 사용자 정보가 노출될 수 있는가?
A. `123`
B. `105 OR 1=1`
C. `admin`
D. `user@email.com`

정답: B

⦁ `105 OR 1=1` 공격 분석: 원래 의도된 SQL: ```sql SELECT * FROM Users WHERE UserId = 105 ``` 공격 후 실제 실행되는 SQL: ```sql SELECT * FROM Users WHERE UserId = 105 OR 1=1 ``` ⦁ `1=1`의 위험성: ⦁ **항상 참(TRUE)**인 조건 ⦁ OR 연산자로 인해 모든 레코드 반환 ⦁ WHERE 조건을 무력화시킴 ⦁ 공격 결과: ⦁ 특정 사용자 1명의 정보 → 전체 사용자 정보 노출 ⦁ 로그인 없이 모든 계정 접근 가능 ⦁ 사용자명, 비밀번호 등 민감 정보 유출

💡 학습 팁

이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.