✓ Boolean-based Blind SQL Injection
Practice 2 — 계정 존재 여부 확인
OWASP A03 · SQL Injection
실습 목표: 참/거짓 응답 차이를 이용해 level1 테이블의 데이터를 한 글자씩 추출하세요.
힌트: AND 1=1 / AND 1=2로 응답 차이를 확인한 뒤, SUBSTRING()과 ASCII()를 조합하세요.
예시: ?query=admin' AND '1'='1
계정 ID를 입력하면 존재 여부가 표시됩니다.
Source Code
$query = $_GET['query'] ?? '';
$stmt = $pdo->query("SELECT * FROM level1 WHERE id='$query'");
$rows = $stmt ? $stmt->fetchAll() : [];
if (count($rows) > 0) {
echo '계정이 있습니다.';
} else {
echo '계정이 없습니다.';
}