본문 바로가기
웹 해킹/webhacking.kr

webhacking.kr 59번-SQL INJECTION

by sonysame 2018. 2. 12.



<?

if($_POST[lid] && $_POST[lphone])
{
$q=@mysql_fetch_array(mysql_query("select id,lv from c59 where id='$_POST[lid]' and phone='$_POST[lphone]'"));

if(
$q[id])
{

echo(
"id : $q[id]<br>lv : $q[lv]<br><br>");

if(
$q[lv]=="admin")
{
@
mysql_query("delete from c59");
@
clear();
}

echo(
"<br><a href=index.php>back</a>");
exit();
}

}


if(
$_POST[id] && $_POST[phone])
{
if(
strlen($_POST[phone])>=20) exit("Access Denied");
if(
eregi("admin",$_POST[id])) exit("Access Denied");
if(
eregi("admin|0x|#|hex|char|ascii|ord|from|select|union",$_POST[phone])) exit("Access Denied");

@
mysql_query("insert into c59 values('$_POST[id]',$_POST[phone],'guest')");
}

?>
<html><head><title>Challenge 59</title></head><body>
<form method=post action=index.php>
<table border=1>
<tr><td>JOIN</td><td><input name=id></td><td><input name=phone></td><td><input type=submit></td></tr>
<tr><td>LOGIN</td><td><input name=lid></td><td><input name=lphone></td><td><input type=submit></td></tr>
</form>
</body></html>




lid, lphone에 대해서


select id, lv from c59 where id=lid and phone=lphone


id가 존재하면

id :id lv:lv

만약에 lv가 admin이면 delete from c59 &clear()

이 clear()부분에 도달해야 문제가 클리어!되는 것 같다!

*where 절이 없는 delete문은 테이블 또는 뷰에서 모든 행을 삭제한다!


id, phone에 대해서

phone의 글자수가 20이상이면 Access Denined

id에서 admin이라는 글자를 필터링! Access Denined

phone에서

admin, 0x, #, hex, char, ascii, ord ,from, select, union 필터링 Access Denied


다 통과하고 나면

insert into c59 values(id, phone, guest)


guest이 부분이 lv인것 같다!


문제는 이 부분이 admin이 되게끔 insert를 시켜야 한다!


insert into c59 values('$_POST[id]',$_POST[phone],'guest')


abc

1,'a%00dmin')


1) value값에 컬럼명을 써주는 방법 이용! 대신, 아이디에 admin이 오면 안되므로, reverse함수를 이용해준다!


아이디에 nimda

폰에 1, reverse(id)')-- 


2)

'웹 해킹 > webhacking.kr' 카테고리의 다른 글

webhacking.kr 10번  (0) 2018.02.12
webhacking.kr 61번-SQL INJECTION(column alias)  (0) 2018.02.12
webhacking.kr 52번-HEADER INJECTION  (0) 2018.02.12
webhacking.kr 42번  (0) 2018.02.12
webhacking.kr 36번  (0) 2018.02.12