Webhacking.kr) old-33 WRITE-UP
Wargame/webhacking.kr

Webhacking.kr) old-33 WRITE-UP

PHP 언어를 공부하고 있는 김에 WEBHACKING.KR-PHP 문제를 풀어보기로 하였다.

이 문제는 여러 단계로 나눠져 있어서 약간 복잡할 수 있다.

 

1단계)

GET 방식이므로 URL에 get=hehe 로 넘겨주면 된다.

 

2단계)

 

post 방식으로 값을 전달받고 있으므로, html form을 하나 만들어 주도록 하자. 두 post변수와 post2값이 각각 hehe와 hehe2이면 될것 같다.

 

  

만들어진 폼에 hehe와 hehe2를 넘겨주면 다음 단계로 간다.

3단계)

 자신의 ip주소를 get 방식으로 url에 넘겨주자.

 

 

4단계)

페이지에 hint: 라고 time이 나와있는데, 새로고침을 계속 해보니 계속 숫자가 늘어나는 것을 확인할 수 있었다.

따라서 이것은 현재 시간이라는 것을 유추할 수 있다. 따라서 좀더 앞선 시간을 설정하여 md5 암호화 해주고,

get방식으로 전달해준다. 시간이 약간 소요되는 문제.

 

 

5단계)

get, post, cookie 까지 전부 설정해줘야 통과할 수 있는 문제이다.

값은 문제가 안되므로 차근차근 php코드의 조건을 충족해주면 된다.

 1) editthiscookie 로 imcookie라는 제목의 쿠키를 구워준다.

 2) html에서 impost라는 이름을 갖고있는 form을 만들고, 대신 action을 넘길 때 md555.php?imget=1로 get방식까지 

한번에 넘겨준다.

 

 

6단계)

아직도 끝이 안난다...

일단 ip주소를 암호화해서 쿠키를 구워주고, post 방식으로 hint에 나와있는 user agent의 정보 전체를 암호화해서 넘겨줘야 하는 것 같다.

+) 크롬을 사용하는 바람에 크롬의 정보만 암호화해서 넘겨주느라 몇번 실패했다.

 

form으로 암호화된 정보를 넘겨주었다.

 

7단계)

 

get방식으로 ip를 전달해주면 되지만, '.'이  공백으로 replace되는 것 같다.

 

해석해보면, ?.을 뺀 자신의 ip주소값=.을 뺀 자신의 ip값 형태로 넘겨주면 될 것 같다.

 

 

8단계)

 

get 방식으로 addr=127.0.0.1 를 넘겨주면 된다.

 

 

9단계)

 ascii 코드값을 문자로 바꿔주면 될것 같다는 감이 왔다. 차근차근 풀어보자

 97/99/101/103/105/107/109/111/113/115/117/119/121=>acegikmoqsuwy

 

get 방식으로 넘겨주자. ?ans=acegikmoqsuwy

 

10단계)

더이상 next 가 없다!! 마지막 문제답게 꽤 복잡하다. 차근차근 풀어보자.

answer값을 일단 구한 후에, answerip/{$answer}_{$ip}.php에 다시 접속해봐야 할 것 같다.

 answer값을 구하기 위해 php 코드를 짜서 확인해보자. -> php compiler로 돌리면 값을 찾을 수 있다.

 

$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 $answer;
echo $ip
?>

이렇게 나온 answer,ip 값을 가지고.  url에 접속해보자.

 

=>old 33 pwned.

 php 공부를 바로 전날까지 해서 이해가 빨랐던 문제인거 같다. 근데 이 문제 만약에 창이라도 닫으면

1번부터 돌아가니 주의할것. 자동 로그아웃돼서 2번이나 다시 풀었다ㅠㅠ

'Wargame > webhacking.kr' 카테고리의 다른 글

Webhacking.kr- challenge 10,36,42, 43  (0) 2020.02.23
Webhacking.kr) OLD-23 writeup  (0) 2019.12.30
Webhacking.kr 150점 write-up  (0) 2019.12.04
Webhacking.kr- 50,100점 문제 writeup  (0) 2019.11.20