Webhacking.kr 33번 문제를 풀어보자


33번 문제 클릭



클릭 하자 마자 Wrong 이라는 단어를 볼 수 있다


일단 index.phps 를 봐보자



GET 으로 get=hehe 일 때 Next로 넘어 갈 수 있나보다



?get=hehe 를 추가해주면


Next 버튼이 나타난다



Next를 클릭하면 또 Wrong이라는 단어가 보인다


lv2.phps를 봐보자



POST 방식으로 post==hehe / post2=hehe2 를 만족해야지


Next 버튼이 나올거 같다



아래와 같이 POST 방식의 제출 버튼을 하나 만들어주고



값을 입력하여 보내면



예상했던거 처럼 Next 버튼이 나온다


Next 버튼 클릭!



바로 33.phps를 봐보자


이번엔 GET 방식으로 myip를 보내주면 될 거 같다



?myip=자신의 외부 IP


Next 클릭



hint가 나온다


Unix Timestamp 인듯 싶다



일단 l4.phps 를 보자


GET 방식으로 password에 Unix Timestamp를 MD5 해시화 하여


보내주면 되는거 같다



하지만 시간은 기다려주지 않기 때문에


hint를 보고 대충 몇 십초를 더해서 MD5 해시를 만든다



그리고 그 해시값을 password 값으로 보내면



(Unix Timestamp 값이 일치 할 때까지 새로고침)



설정한 Unix Timestamp에 새로고침을 하면


성공적으로 Next 버튼이 나온다


클릭!


하지만 문제가 안 끝난다ㅋ


md555.phps 를 먼저 보자



이번엔 GET 방식과 POST 방식 그리고 COOKIE 값까지 넣어야 한다


값은 아무 값이나 상관 없을 거 같다



아래와 같이 POST용 입력 칸을 하나 만들어주고


값을 보낸다



이 때 imcookie와 ?imget 을 추가하여 보낸다



Next 버튼이 나왔다


클릭하자



바로 gpcc.phps를 보자



쿠키 test 값으로 자신의 IP주소를 MD5하여 넣고


POST 방식으로 kk에 HTTP_USER_AGENT를 MD5하여 넣으면 될 거 같다



우선 자신의 IP와 HTTP_USER_AGENT를 MD5화 하자




그리고 아래와 같이 POST 용 입력 칸을 하나 만들었다



이제 값을 전달하여 보자



아래와 같이 하였다..


역시 계속 그래왔듯이..


Next 클릭 ㅠㅠ



wtff.phps 보자



$_GET[자신의IP]=자신의IP 가 되어야한당


하지만 . 을 str_replace 를 이용하여 빼니깐


자신의 IP주소에서 . 을 빼고


?111222333444=111222333444


이런 식으로 보내면 될 듯하다



?자신의IP주소=자신의IP주소



Next 버튼 나옴..


도대체 언제끝나닝


Next 클릭



ipt.phps 보기~



addr에 값이 없으면 자신의 IP가 되도록 되어있고


addr이 127.0.0.1 이면 문제가 풀린다



?addr=127.0.0.1


Next 클릭



nextt.phps 클릭



for문만 알면 풀 수 있을 거 같다


$i+2와 $answer .= $ch;


그리고 아스키 코드표만 볼 수 있으면 끝!



?ans=acegikmoqsuwy


Next 클릭



forfor.phps 클릭


어째 Wrong이 안 보인다


마지막 문제 인가!?



먼가 복잡하다 substring하고 흠..


솔직히 그냥 하나하나 하면 귀찮다


Kali 에서 웹 서버를 이용하여


값을 구해보자



service apache2 start


vim /var/www/index.php



<?php


$ip="자신의 IP";


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


echo("answerip/$ip/$answer.$ip");


?>



Kali의 웹 서버로 접근해보면 계산되어 완료된 값이 출력된다



출력된 값의 경로로 이동해보면


아래와 같이 Password is 하고 33번 문제의 답이 나온다



이 값을 복사하여 Auth에 입력해주면


33번 문제는 클리어 된다


문제 정말 길다 ㅠㅠ


간단한 문제지만


너무 길어서 힘들었다


언제 끝나나..ㅋㅋ


100점 짜리 문제 5개는 푼 기분이당


아무튼 33번 클리어~