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번 클리어~