아..귀찮음의 끝을 달리는 문제. 글 정리도 귀찮아~!!
#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 |