WarGame/Load of SQLInjection
LOS GOBLIN (문자열 치환)
팥들었슈_
2024. 3. 7. 08:53
문제
풀이
if 문을 확인해보면 id가 admin이면 풀린다.
쿼리를보면 guest가 기본으로 들어가 있기 때문에
no절을 포함한 앞을 false로 만들고 이후 절에 id='admin'을 넣어야 한다.
하지만 No Quotes~ 를 보면 정규식으로 '를 제한한다.
이를 우회하기 위해 서브쿼리로 숫자 -> 문자로 치환한다.
?no=2 or id=(select concat(char(97), char(100), char(109), char(105), char(110)))
no는 1일 때 guest가 참이었으므로 2로 변경하여 False로 반환
id가 admin인 것을 찾기 위해 서브쿼리 생성
concat을 사용하여 변환된 아스키 코드를 연결
char를 사용하여 입력받은 숫자 아스키를 알파벳으로 변경