🔗 Union-based SQL Injection
Practice 1 — 사용자 정보 검색
OWASP A03 · SQL Injection
실습 목표: UNION SELECT를 이용해 security_user 테이블의 전체 데이터(또는 secret_flag)를 추출하세요.
힌트: 컬럼 수는 7개입니다. 이름 조건을 거짓으로 만든 뒤 UNION으로 데이터를 이어 붙이세요.
예시: ?query=' UNION SELECT 1,2,3,4,5,6,7-- -
검색어를 입력하면 쿼리가 실행됩니다.
Source Code
$query = $_GET['query'] ?? '';
$stmt = $pdo->query("SELECT * FROM security_user WHERE name='$query'");
$rows = $stmt ? $stmt->fetchAll() : null;