webhacking.kr 33번

목차

33번 문제 : 데이터 전달(?)


33-1

<?

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");
}
?>


<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");
}
?>


http://webhacking.kr/challenge/bonus/bonus-6/33.php?myip=자신의 아이피




<?

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]");
}
?>


자신의 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]]);
}
?>

자신의 아이피에서 . 을 다 없애고 값을 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 : 이 함수의 역할은 키값을 변수화 시키는 것이다

자세히는 모르겠지만
하니까 통과가 되었다



<?

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");
}
?>



다음과 같이 실행시켰다. (php가 있으면 직접해도 되는데.. 관리자분은 이런걸 어떻게 만들었을까....)

 


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);

?>



자신의 아이피로만 폴더가 생겨서 답이 나오는 것 같다.

 


주소는 요령껏 알아서 잘 넘기자!


  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유