<html>
<head>
<title>Challenge 7</title>
</head>
<body>
<!--
db에는 val=2가 존재하지 않습니다.
union을 이용하세요
-->
<?
$answer = "????";
$go=$_GET[val];
if(!$go) { echo("<meta http-equiv=refresh content=0;url=index.php?val=1>"); }
$ck=$go;
$ck=str_replace("*","",$ck);
$ck=str_replace("/","",$ck);
echo("<html><head><title>admin page</title></head><body bgcolor='black'><font size=2 color=gray><b><h3>Admin page</h3></b><p>");
if(eregi("--|2|50|\+|substring|from|infor|mation|lv|%20|=|!|<>|sysM|and|or|table|column",$ck)) exit("Access Denied!");
if(eregi(' ',$ck)) { echo('cannot use space'); exit(); }
$rand=rand(1,5);
if($rand==1)
{
$result=@mysql_query("select lv from lv1 where lv=($go)") or die("nice try!");
}
if($rand==2)
{
$result=@mysql_query("select lv from lv1 where lv=(($go))") or die("nice try!");
}
if($rand==3)
{
$result=@mysql_query("select lv from lv1 where lv=((($go)))") or die("nice try!");
}
if($rand==4)
{
$result=@mysql_query("select lv from lv1 where lv=(((($go))))") or die("nice try!");
}
if($rand==5)
{
$result=@mysql_query("select lv from lv1 where lv=((((($go)))))") or die("nice try!");
}
$data=mysql_fetch_array($result);
if(!$data[0]) { echo("query error"); exit(); }
if($data[0]!=1 && $data[0]!=2) { exit(); }
if($data[0]==1)
{
echo("<input type=button style=border:0;bgcolor='gray' value='auth' onclick=
alert('Access_Denied!')><p>");
echo("<!-- admin mode : val=2 -->");
}
if($data[0]==2)
{
echo("<input type=button style=border:0;bgcolor='gray' value='auth' onclick=
alert('Congratulation')><p>");
@solve();
}
?>
<!--
index.phps
-->
</body>
</html>
# 필터문자
--
2
50
+
substring
from
infor
mation
lv
공백
=
!
<>
sysM
and
or
table
column
val=2를 넣으면 바로 풀릴 것 같지만 힌트에 명시되어 있다. 데이터베이스에 존재하지 않는다고..
따라서 UNION을 이용해 칼럼수와 자료형을 맞추고 거짓 union select 2와 같이 쿼리를 보낸다.
select lv from lv1 where lv=(10)%0aunion%0aselect%0a(5-3) 로 로컬에서 풀어서 인증하는데
계속 안돼서 검색해보니 문제오류? 인듯 하다.
풀었으니까 인증은 올려야쥐
'WEB Hacking > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 45번 /**/ 주석 SQL 인젝션 (0) | 2018.09.11 |
---|---|
[webhacking.kr] 50번 :: /**/ SQL 인젝션 ㅡㅡ (0) | 2018.09.11 |
[webhacking.kr] 35번 SQL 인젝션 :: INSERT SQL 인젝션 (0) | 2018.09.10 |
[webhacking.kr] 08번 :: INSERT SQL 인젝션 (0) | 2018.09.10 |
[webhacking.kr] 49번 :: SQL 인젝션 (0) | 2018.09.10 |