코드는 간단하다
<?php
if($_GET['get']=="hehe") echo "<a href=???>Next</a>";
else echo("Wrong");
?>
시키는 대로 해봤다
얌전히 Next를 눌러봤다
아 이렇게 나온다 이거지? lv2라고 친절하게 나와있다
<?php
if($_POST['post']=="hehe" && $_POST['post2']=="hehe2") echo "<a href=???>Next</a>";
else echo "Wrong";
?>
이번에도 시키는대로 post 방식의 폼을 작성해준다
역시 Next가 뜨고 다음으로..
<?php
if($_GET['myip'] == $_SERVER['REMOTE_ADDR']) echo "<a href=???>Next</a>";
else echo "Wrong";
?>
이번엔, get 방식으로 내 IP를!
다음 코드!
<?php
if($_GET['password'] == md5(time())) echo "<a href=???>Next</a>";
else echo "hint : ".time();
?>
이를 md5로 인크립트하고 get에 넣즈아
하고 호기롭게 넣었는데 안됐닼
알고보니 time()은 스크립트 시작부터 지금까지 흐른 시간이라거..
그래서 현재 시간보다 더 나중 시간을 미리 복호화해놓고 기다렸는데 계속 안됐다...
알고보니 대문자라서; 소문자로 바꾸고 타이밍 맞춰 새로고침했더니 됐다!
여기서 10분은 쓴 것 같닿;;
다음은 또 md5?
<?php
if($_GET['imget'] && $_POST['impost'] && $_COOKIE['imcookie']) echo "<a href=???>Next</a>";
else echo "Wrong";
?>
먼저 post 부터 해주자
다음은 쿠키~
마지막으로 imget 파라미터!
Next가 생겼따
다음 페이지
<?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']}";
?>
바라는게 많다
먼저, 내 IP를 MD5로 인크립트해서 test 쿠키에 넣고~
다음은 User Agent, 즉 hint 값도 인코딩합니다
https://webhacking.kr/challenge/bonus-6/gpcc.php
에서 아래 링크로!
https://webhacking.kr/challenge/bonus-6/wtff.php
7번째,,,,코드,,
<?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']];
?>
이 자식들 은근슬쩍 점점 코드가 길어진다
자 이번엔, 내 ip 주소 속 '.'을 공백으로 바꾸고 get 방식의 이름과 값으로 넘겨보쟈
휴 다음!
<?php
extract($_GET);
if(!$_GET['addr']) $addr = $_SERVER['REMOTE_ADDR'];
if($addr == "127.0.0.1") echo "<a href=???>Next</a>";
else echo "Wrong";
?>
addr 변수가 없다면, 내 ip가 되고
addr 값이 127.0.0.1이면 다음으로?
<?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";
?>
여기서 chr()는! 아스키코드를 문자로 변환해준당
for문을 보면, 97부터 2씩 올려서 122까지니까
a c e g i k m o q s u w y 일듯
휴 이젠 끝일거라고 기대도 안한다
<?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);
?>
1. ip의 값은 내 ip!
2. 0부터 ip의 길이만큼 반복한다: 0부터 15까지, ip
3. '.'은 없앤다
4. 해당 값에 2를 곱해 answer에 넣고
5. answer을 다시 2로 나눈다
6. 다시 '.'은 없앤다
그런 식으로 하면... 된다...
는 그냥 밑에 들어가서 코딩하세요!
까만색은 answer, 핑크색은 ip당
드디어어ㅓ어ㅓ
'Wargame > webhacking.kr' 카테고리의 다른 글
*Challenge old 37 (250) (0) | 2020.02.04 |
---|---|
Challenge old 36 (200) (0) | 2020.02.04 |
Challenge old 32 (150) (0) | 2020.02.03 |
[미완] Challenge old 31 (150) (0) | 2020.02.03 |
Challenge old 26 (100) (0) | 2020.01.30 |