Wargame & CTF/Lord of SQLInjection

[los]goblin 문제 풀이

seomj 2021. 1. 10. 15:20

문제

 

풀이

첫 번째와 두 번째 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