문제
풀이
첫 번째와 두 번째 if문을 보면 no에 prob _ . ' " 를 필터링
세 번째 if문에서는 id가 들어있으면 Hello 'id'를 출력
네 번째 if문에서는 id에 admin 값이 들어가면 문제 해결
where id='guest' and no=
먼저 no의 값을 주고 or을 사용하여 뒤의 쿼리문을 참으로 만들면 해결
guest에 해당되는 no 값을 알아내야 함
-> no 값이 1을 가지면 guest가 됨
그렇다면 id='guest'의 쿼리문이 False값을 가져야 하기 때문에 no값을 1로만 설정해주지 않으면 됨
-> ?no=2 or
그리고 id값을 admin으로 설정해주어야 함
여기서 '(작은 따옴표)와 "(큰 따옴표)를 필터링 하기 때문에 뒤에 id = "admin" 방식으로 쿼리를 줄 수 없음
-> ascii의 dec을 이용
a : 97
d : 100
m : 109
i : 105
n : 110
-> id=char(97, 100, 109, 105, 110)으로 설정
?no=2 or id=char(97,100,109,105,110) --
'Wargame & CTF > Lord of SQLInjection' 카테고리의 다른 글
[los]cobolt 문제 풀이 (0) | 2020.09.16 |
---|---|
[los]gremlin 문제 풀이 (0) | 2020.09.16 |