DoR@Hee의 끄적끄적
webhacking.kr 35번 본문
문제 첫화면 get방식으로 phone파라미터에 값을 받고있다. index.phps를 보도록 하자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <html> <head> <title>Challenge 35</title> <head> <body> <form method=get action=index.php> phone : <input name=phone size=11><input type=submit value='add'> </form> <? if($_GET[phone]) { if(eregi("%|\*|/|=|from|select|x|-|#|\(\(",$_GET[phone])) exit("no hack"); @mysql_query("insert into challenge35_list(id,ip,phone) values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]',$_GET[phone])") or die("query error"); echo("Done<br>"); } $admin_ck=mysql_fetch_array(mysql_query("select ip from challenge35_list where id='admin' and ip='$_SERVER[REMOTE_ADDR]'")); if($admin_ck[ip]==$_SERVER[REMOTE_ADDR]) { @solve(); @mysql_query("delete from challenge35_list"); } $phone_list=@mysql_query("select * from challenge35_list where ip='$_SERVER[REMOTE_ADDR]'"); echo("<!--"); while($d=@mysql_fetch_array($phone_list)) { echo("$d[id] - $d[phone]\n"); } echo("-->"); ?> <br><a href=index.phps>index.phps</a> <br><br><br> <center>Thanks to <a href=http://webhacking.kr/index.php?mode=information&id=HellSonic>HellSonic</a></center> <br><br><br> </body> </html> | cs |
("insert into challenge35_list(id,ip,phone) values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]',$_GET[phone])") or die("query error");
해당 쿼리는 이렇게 들어가고있으며
$_SESSION[id]는 사용자 아이디
$_SERVER[REMOTE_ADDR] 사용자 ip
$_GET[phone] 는 입력받은 값이 들어가고있다.
$admin_ck=mysql_fetch_array(mysql_query("select ip from challenge35_list where id='admin' and ip='$_SERVER[REMOTE_ADDR]'"));
아이디가 admin이고 ip가 자신의 아이피일 경우 변수$admin_ck에 값을 담고있으며 이에따라 문제 해결이 되는 방식이다.
저런식으로 insert문이 가능한지 넣어본 결과 Done가 나타난다.
해당 쿼리는 values('$_SESSION[id]','$_SERVER[REMOTE_ADDR]',1),(1,1,1) 이런식으로 들어간다,
$_SESSION[id] =admin
$_SERVER[REMOTE_ADDR] = ip가 들어갈경우 문제 해결방식이다.
query error 이 나타는걸로 보아 ''를 필터링 하고있는거 같다.
필터링을 우회하기위해서 char함수를 사용
성공
'WarGame > WebHacking.kr' 카테고리의 다른 글
webhacking.kr 37번 (0) | 2019.02.22 |
---|---|
webhacking.kr 36번 (0) | 2019.02.22 |
webhacking.kr 34번 (0) | 2019.02.22 |
webhacking.kr 33번 (0) | 2019.02.21 |
webhacking.kr 32번 (0) | 2019.02.21 |
Comments