코드 분석
pw를 입력받아 like 구문 안에 주입된다. 또한 쿼리의 결과값 중 id가 'admin'이어야 solve가 된다.
공격 기법
싱글 쿼터가 필터링되어 escape를 할 수는 없고 like 구문 안에서 해결해야 한다.
mysql의 like에서는 우리가 흔히 알고 있는 '%' 문자 말고도 '_' 문자를 사용할 수 있다.
이는 정규표현식에서 '.'와 같은 역할을 하는데, 이는 임의의 문자를 뜻한다.
따라서 '_'를 추가해가며 비밀번호의 길이를 알아낼 수 있을 것이고,
한 글자씩 직접 지정하여 admin의 pw를 알아낼 수 있을 것이다.
'Web > Lord of Sql injection' 카테고리의 다른 글
zombie_assasin 문제 풀이 (0) | 2023.09.11 |
---|---|
succubus 문제 풀이 (0) | 2023.09.10 |
giant 문제 풀이 (0) | 2023.09.10 |
bugbear 문제 풀이 (0) | 2023.09.10 |
darkknight 문제 풀이 (0) | 2023.09.10 |