본문 바로가기
[웹해킹]/[Webhacking.kr]

[Webhacking.kr] 33번

by Hevton 2020. 10. 17.
반응형

아..귀찮음의 끝을 달리는 문제. 글 정리도 귀찮아~!!

 

 

#1

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

get방식으로 키가get 값이 hehe 인 데이터넘겨달랜다.

답 : ?get=hehe

 

 

#2

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

프록시 툴인 BurpSuite를 이용했다.

Intercept 잡아놓고, Action 바에서 Change request method를 누르면 현재 get방식이였던게 post방식으로 변한다.

답 : 데이터들 맨 아래에 한줄 띄고!! post=hehe&post2=hehe2 넣어준 뒤 content-length 부분에 이 글자의 자릿수인 21을 넘겨준다.

 

 

#3

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

답 : ?myip=내아이피

 

 

#4

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

시간값을 md5해싱한 값이 현재와 같을 때 통과

넉넉히 20초 뒤에 시간값을 md5해싱해놓은 다음에

답 : 주소창에 ?password=값 넣어줌

 

 

#5

<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 키값을 가진 쿠키 만들어주고, post 형식으로 전달하되 주소를 ?imget=1 하여 get도 동시에 전달.

 

 

#6

<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쿠키값에 내 아이피를 md5해싱한 값을 넣고, post로 hint로 주어진 값을 md5 해싱하여 전달

(마찬가지로 데이터들 밑에 한줄 띄고 kk=값 입력)

 

 

#7

<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']];
?>

답 : 내 아이피가 123.123.123.123이라고 봤을 때 점을 뺀 123123123123이 변수에 들어가게 되고, ?123123123123=123123123123을 주소에 넣어주면 됨. (GET에서 해당 변수를 찾는 것이기에)

 

 

 

#8

<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의 키들을 변수처럼 사용하겠다 라는 것.

$_GET[‘addr’] 을 $_addr로 사용할 수 있는것.

답 : ?addr=127.0.0.1 넘겨주면 .

 

 

#9

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

 

 

phptester.net/ 에 넣고 돌리면 답 나옴.

답 : ?ans=acegikmoqsuwy 넣어줌

 

 

#10

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

포문이 좀 복잡하다.

참고로 ord ascii 같은 기능임. ord 문자열을 받는데, 가장 첫번째 문자열의 아스키값만 반환함.

답 : 이것도 마찬가지로 $_SERVER['REMOTE_ADDR'] 부분에 내 아이피를 넣은 뒤에 위 php 컴파일 사이트에 넣고 $answer 값과 $ip 값을 얻은 뒤 형식에 맞게 조합하면 됌.

 

길다 길어..

 

반응형

'[웹해킹] > [Webhacking.kr]' 카테고리의 다른 글

[Webhacking.kr] 35번  (0) 2020.10.24
[Webhacking.kr] 34번  (0) 2020.10.24
[Webhacking.kr] 32번  (0) 2020.10.17
[Webhacking.kr] 31번  (0) 2020.10.17
[Webhacking.kr] 30번  (0) 2020.10.17