티스토리 뷰
33번 문제 : 데이터 전달(?)
33-1
<?
if($_GET[get]=="hehe")
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
if($_GET[get]=="hehe")
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
<?
if($_POST[post]=="hehe" && $_POST[post2]=="hehe2")
{
echo("<a href=##>Next</a>");
}
else
{
echo("Wrong");
}
?>
if($_POST[post]=="hehe" && $_POST[post2]=="hehe2")
{
echo("<a href=##>Next</a>");
}
else
{
echo("Wrong");
}
?>
<form name='1' method='post' action='http://webhacking.kr/challenge/bonus/bonus-6/lv2.php'>
<input type='text' name='post' value=hehe><br>
<input type='text' name='post2' value=hehe2><br>
<input type='submit' value='전송'>
<?
if($_GET[myip]==$_SERVER[REMOTE_ADDR])
{
echo("<a href=##.php>Next</a>");
}
else
{
echo("Wrong");
}
?>
if($_GET[myip]==$_SERVER[REMOTE_ADDR])
{
echo("<a href=##.php>Next</a>");
}
else
{
echo("Wrong");
}
?>
http://webhacking.kr/challenge/bonus/bonus-6/33.php?myip=자신의 아이피
<?
if($_GET[password]==md5(time()))
{
echo("<a href=###>Next</a>");
}
else
{
echo("hint : ".time());
}
?>
if($_GET[password]==md5(time()))
{
echo("<a href=###>Next</a>");
}
else
{
echo("hint : ".time());
}
?>
hint 가 시간이고 이것을 md5암호화 하여서 get 으로 시간을 잘 맞춰주면 된다.
<?
if($_GET[imget] && $_POST[impost] && $_COOKIE[imcookie])
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
우선 익스플로러를 띄어놓고 imcookie=1 쿡시, 파로스, 자바스크립트 명령어 등 아무거나 선택해서 쿠키값을 설정한 후에 아래 구문을 스크립트로 작성하여 전송
<form name='1' method='post' action='http://webhacking.kr/challenge/bonus/bonus-6/md555.php?imget=1'>
<input type='text' name='impost' value=1><br>
<input type='submit' value='전송'>
<?
if($_COOKIE[test]==md5("$_SERVER[REMOTE_ADDR]") && $_POST[kk]==md5("$_SERVER[HTTP_USER_AGENT]"))
{
echo("<a href=###>Next</a>");
}
else
{
echo("hint : $_SERVER[HTTP_USER_AGENT]");
}
?>
if($_COOKIE[test]==md5("$_SERVER[REMOTE_ADDR]") && $_POST[kk]==md5("$_SERVER[HTTP_USER_AGENT]"))
{
echo("<a href=###>Next</a>");
}
else
{
echo("hint : $_SERVER[HTTP_USER_AGENT]");
}
?>
자신의 IP와 HTTP_USER_AGENT를 각각 md5 암호화하고
쿡시로 test=md5(자신의 아이피)
설정해주고 밑의 스크립트를 작성하여 전달
<form name='1' method='post' action='http://webhacking.kr/challenge/bonus/bonus-6/gpcc.php'>
<input type='text' name='kk' value=자신의 HTTP_USER_AGENT><br>
<input type='submit' value='전송'>
<?
$_SERVER[REMOTE_ADDR]=str_replace(".","",$_SERVER[REMOTE_ADDR]);
if($_GET[$_SERVER[REMOTE_ADDR]]==$_SERVER[REMOTE_ADDR])
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong<br>".$_GET[$_SERVER[REMOTE_ADDR]]);
}
?>
$_SERVER[REMOTE_ADDR]=str_replace(".","",$_SERVER[REMOTE_ADDR]);
if($_GET[$_SERVER[REMOTE_ADDR]]==$_SERVER[REMOTE_ADDR])
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong<br>".$_GET[$_SERVER[REMOTE_ADDR]]);
}
?>
자신의 아이피에서 . 을 다 없애고 값을 get으로 넘긴다.
<?
extract($_GET);
if(!$_GET[addr]) $addr=$_SERVER[REMOTE_ADDR];
if($addr=="127.0.0.1")
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
extract($_GET);
if(!$_GET[addr]) $addr=$_SERVER[REMOTE_ADDR];
if($addr=="127.0.0.1")
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
extract : 이 함수의 역할은 키값을 변수화 시키는 것이다
자세히는 모르겠지만
하니까 통과가 되었다
<?
for($i=97;$i<=122;$i=$i+2)
{
$ch=chr($i);
$answer.=$ch;
}
if($_GET[ans]==$answer)
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
for($i=97;$i<=122;$i=$i+2)
{
$ch=chr($i);
$answer.=$ch;
}
if($_GET[ans]==$answer)
{
echo("<a href=###>Next</a>");
}
else
{
echo("Wrong");
}
?>
http://webhacking.kr/challenge/bonus/bonus-6/nextt.php?ans=acegikmoqsuwy 넘기면 된다.
33-10 (http://webhacking.kr/challenge/bonus/bonus-6/forfor.php)
<?
$ip=$_SERVER[REMOTE_ADDR];
for($i=0;$i<=strlen($ip);$i++)
{
$ip=str_replace($i,ord($i),$ip);
}
$ip=str_replace(".","",$ip);
$ip=substr($ip,0,10);
@mkdir("answerip/$ip");
$answer=$ip*2;
$answer=$ip/2;
$answer=str_replace(".","",$answer);
$pw="###";
$f=fopen("answerip/$ip/$answer.$ip","w");
fwrite($f,"Password is $pw\n\nclear ip : $_SERVER[REMOTE_ADDR]");
fclose($f);
?>
자신의 아이피로만 폴더가 생겨서 답이 나오는 것 같다.