> For the complete documentation index, see [llms.txt](https://donghyunlee.gitbook.io/write-up/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://donghyunlee.gitbook.io/write-up/wargame/webhacking.kr/old-33-200.md).

# old-33 (200)

첫 화면이다.

![](/files/-M1sfVUeqn4Itw5NXvHX)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-1<br>
<a href=index.txt>view-source</a>
<hr>
<?php
if($_GET['get']=="hehe") echo "<a href=???>Next</a>";
else echo("Wrong");
?>
```

<https://webhacking.kr/challenge/bonus-6/?get=hehe> 에 접속하면 Next 링크가 생성된다.

![](/files/-M1sfyW9RZQnHWCQVXPu)

Next를 클릭하면 아래와 같은 창이 나온다.

![](/files/-M1sg370kaCKIPGGBiW9)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-2<br>
<a href=lv2.txt>view-source</a>
<hr>
<?php
if($_POST['post']=="hehe" && $_POST['post2']=="hehe2") echo "<a href=???>Next</a>";
else echo "Wrong";
?>
```

아래 소스를 삽입한다.

```markup
<form method="post">
    post<input name="post">
    post2<input name="post2">
    <input type="submit">
</form>
```

각각 `hehe` 와 `hehe2` 를 입력한 후 제출한다.

![](/files/-M1siDrrgvpmDYmVIXZA)

생성된 Next 링크를 클릭한다.

![](/files/-M1siYZm7ABkofGGJ9Xo)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-3<br>
<a href=33.txt>view-source</a>
<hr>
<?php
if($_GET['myip'] == $_SERVER['REMOTE_ADDR']) echo "<a href=???>Next</a>";
else echo "Wrong";
?>
```

[https://webhacking.kr/challenge/bonus-6/33.php?myip=MY\_IP](https://webhacking.kr/challenge/bonus-6/33.php?myip=175.193.38.98) 에 접속하면 Next 링크가 생성된다.

![](/files/-M1sjH4a6E9bG5Ou3IQF)

Next 링크를 클릭한다.

![](/files/-M1sjOPcyownvp0nSoIE)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-4<br>
<a href=l4.txt>view-source</a>
<hr>
<?php
if($_GET['password'] == md5(time())) echo "<a href=???>Next</a>";
else echo "hint : ".time();
?>
```

`1583647390` 에 적당한 수 `185` 를 더한 `1583647575` 을 MD5 암호화한 값은 `f202c73844e80495afb58ae8cedd7903` 이다.

<https://webhacking.kr/challenge/bonus-6/l4.php?password=f202c73844e80495afb58ae8cedd7903> 에 접속해 새로고침을 하다가 hint가 `1583647575` 가 되는 순간 Next 링크가 생성된다.

Next 링크를 클릭한다.

![](/files/-M1skm0HCndB6G23bDwe)

view-source를 클릭해본 소스는 아래와 같다.

```php
<hr>
Challenge 33-5<br>
<a href=md555.txt>view-source</a>
<hr>
<?php
if($_GET['imget'] && $_POST['impost'] && $_COOKIE['imcookie']) echo "<a href=???>Next</a>";
else echo "Wrong";
?>
```

`imcookie` 라는 쿠키를 만들고 값을 1로 설정한다.

![](/files/-M1slCcJ3jxngo_I2fX6)

<https://webhacking.kr/challenge/bonus-6/md555.php?imget=1> 에 접속한 후 아래 소스를 삽입한다.

```markup
<form method="post">
    impost<input name="impost">
    <input type="submit">
</form>
```

폼에 1을 입력하고 제출한다.

![](/files/-M1slzlVfpNVvReehHTk)

생성된 Next 링크를 클릭한다.

![](/files/-M1sm7gNaAiAKaicK_9W)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-6<br>
<a href=gpcc.txt>view-source</a>
<hr>
<?php
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']}";
?>
```

`test` 라는 쿠키를 만들어 본인의 IP를 MD5 암호화한 값으로 설정한다.

![](/files/-M1snM76b_dSQ19DcRdq)

hint 값을 MD5 암호화한 값은 `696e7f46d58111435c919a72375be5ae` 이다.

![](/files/-M1snc0qMF_IXvlAqNIR)

아래 소스를 삽입한다.

```markup
<form method="post">
    kk<input name="kk" value="696e7f46d58111435c919a72375be5ae">
    <input type="submit">
</form>
```

Submit 버튼을 클릭한다.

![](/files/-M1so1tO6SLKRvXUiiYJ)

생성된 Next 링크를 클릭한다.

![](/files/-M1soBJMq-BLknXEH2kC)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-7<br>
<a href=wtff.txt>view-source</a>
<hr>
<?php
$_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']];
?>
```

[https://webhacking.kr/challenge/bonus-6/wtff.php?본인\_IP에서\_온점을\_제거한\_값=](https://webhacking.kr/challenge/bonus-6/wtff.php?1751933898=1751933898)[본인\_IP에서\_온점을\_제거한\_값](https://webhacking.kr/challenge/bonus-6/wtff.php?1751933898=1751933898) 에 접속한다.

생성된 Next 링크를 클릭한다.

![](/files/-M1sp8TSH1Sl8xrkK86j)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-8<br>
<a href=ipt.txt>view-source</a>
<hr>
<?php
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)`  함수는 GET으로 받은 것들을 변수로 변환한다.

<https://webhacking.kr/challenge/bonus-6/ipt.php?addr=127.0.0.1> 에 접속한 후 생성된 Next 링크를 클릭한다.

![](/files/-M1sx4owIEHlnZlnLhf4)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-9<br>
<a href=nextt.txt>view-source</a>
<hr>
<?php
for($i=97;$i<=122;$i=$i+2){
  $answer.=chr($i);
}
if($_GET['ans'] == $answer) echo "<a href=???.php>Next</a>";
else echo "Wrong";
?>
```

반복문 실행결과, `$answer` 는 `acegikmoqsuwy` 이다.

<https://webhacking.kr/challenge/bonus-6/nextt.php?ans=acegikmoqsuwy> 에 접속한 후 생성된 Next 링크를 클릭한다.

![](/files/-M1sxmjl_7OQS1F2nv1b)

view-source를 클릭해 본 소스는 아래와 같다.

```php
<hr>
Challenge 33-10<br>
<a href=forfor.txt>view-source</a>
<hr>
<?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);
$answer = $ip*2;
$answer = $ip/2;
$answer = str_replace(".","",$answer);
$f=fopen("answerip/{$answer}_{$ip}.php","w");
fwrite($f,"<?php include \"../../../config.php\"; solve(33); unlink(__FILE__); ?>");
fclose($f);
?>
```

[https://webhacking.kr/challenge/bonus-6/answerip/{최종\_$answer\_값}\_{최종\_$ip\_값}.php](https://webhacking.kr/challenge/bonus-6/answerip/26753777675_5350755535.php) 에 접속하면 문제가 풀린다.

![](/files/-M1t-bWhKMDhxBOnl4d2)
