본문 바로가기

웹해킹/webhacking.kr

webhacking.kr old 33번 문제풀이(Writeup)

반응형

webhacking.kr old 33번 문제풀이(Writeup)


1

old 33번 문제풀이 1

문제를 들어가면 위와 같이 출력된다. 33-1을 보니 뭔가 1도 있고 2도 있을 것으로 보인다. 코드를 확인해보자.

 

 

 

?get=hehe이면 Next가 나온다고 한다. 확인해봤다.

 

 

old 33번 문제풀이 2

Next가 나왔다. 클릭해봤다.

 


2

old 33번 문제풀이 3

lv2.php로 이동했다. 뭔가 흥미로운 문제인 것 같다. 재밌다. 코드를 확인해보자.

 

 

 

이번엔 post 방식으로 post가 hehe이고 post2는 hehe2로 전송해야 한다. Burp Suite로 전송해봤다.

 

 

old 33번 문제풀이 4

Burp Suite에서 캡처한 후 마우스 우클릭 -> change requests method가 있다. 클릭해서 post 방식으로 바꿔주고 post와 post2를 포함해서 넣어준다.

 


3

old 33번 문제풀이 5

Next가 나왔고 클릭하니 challenge 33-3이 나왔다. 다시 코드를 확인했다.

 

 

 

old 33번 문제풀이 6

이번엔 get 메소드로 myip에 ip주소를 넣어야 한다. 그래서 넣었다.

 


4

old 33번 문제풀이 7

또 Next가 나왔다. 레벨업하는 기분이다. 33-4로 들어가서 코드를 확인했다.

 

 

old 33번 문제풀이 8

password에 md5로 인코딩한 내용을 넣어야 한다. hint 옆에 나오는 시간에 30 정도를 더해서 hash 했다.

 

 

https://webhacking.kr/challenge/bonus-6/l4.php?password=F8F34A3137E70A8D65738DD3D5D05B55

바로 다음 단계로 통과했다.

 

 


5

old 33번 문제풀이 9

5단계이다. 이번엔 get 방식과 post방식과 cookie를 한 번에 보내야 한다.

 

 

 

old 33번 문제풀이 10

그래서 한 번에 만들어서 보냈더니 통과했다. 이쯤부터 왜 안 끝나지 싶었다.

 


6

old 33번 문제풀이 11

이번 힌트는 user-agent가 출력된다. 코드를 확인하니 test라는 쿠키에 ip를 md5로 해시해서 넣고, post 방식으로 kk에 http_user_agent를 md5 해시해서 넣으면 된다.

 

old 33번 문제풀이 12

다음 문제로 향하는 NEXT가 나왔다.

 


7

old 33번 문제풀이 13

이번엔 내 IP주소에 들어가는 "."을 빼고 넣으면 된다.

 

old 33번 문제풀이 14


8

old 33번 문제풀이 15

바로 코드를 확인하니 ?addr=127.0.0.1이면 된다고 한다. 이제 좀 지루하다.

 

 

old 33번 문제풀이 16


9

old 33번 문제풀이 17

이번엔 97부터 122까지 2씩 더하며 해당하는 아스키코드의 문자를 넣으면 된다. 간단하게 스크립트를 작성했다.

 

answer=""
for i in range(97,122,2):
    answer += chr(i)
print(answer)

old 33번 문제풀이 18

acegikmoqsuwy가 답이다. 다음으로 넘어가자.


10

old 33번 문제풀이 18
old 33번 문제풀이 19

10번 코드를 확인하니, IP를 가지고 이것저것 연산을 한다. 머리나 손으로 하기엔 복잡해서 바로 php 코드로 확인했다. ip에는 내 실제 IP를 넣고 fopen은 하지 않고 echo를 통해 출력했다.

 

<?php
$ip = "Your 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/{$answer}_{$ip}.php")
?>

old 33번 문제풀이 20

20점 문제치고는 너무 길었다. 그래도 간단한 개념이 계속 반복되어서 복습하기 좋은 문제인 것 같다.

 

728x90