power-girl0-0

[webhacking.kr - old] 33번 본문

War game/webhacking.kr

[webhacking.kr - old] 33번

power-girl0-0 2021. 6. 29. 00:25
728x90

주소 : https://webhacking.kr/old.php

 

Webhacking.kr

 

webhacking.kr


 [ 풀이 ] 

view-source로 소스코드를 확인해보니, get방식으로 hehe라는 값을 보내면 Next의 하이퍼링크가 생성되는 것 같다!


코드대로, get방식으로 hehe값을 전송한 결과 Next링크가 생성된다!

Next를 클릭하니, 두번째 단계로 넘어간 듯 하다!


이번 단계에서는 post방식으로 두개를 보내면, 링크가 생성된다.

코드를 작성하여, 다음 단계로 넘어갈 수 있었다.

import requests

url="https://webhacking.kr/challenge/bonus-6/lv2.php"
c={'PHPSESSID':'자신의 세션'}
data={"post":"hehe", "post2":"hehe2"}
res = requests.post(url, cookies=c, data=data)
print(res.text)


이번에는, myip로 내 ip를 get방식으로 넘겨주면 된다!


hint라고 출력된 time을 md5로 암호화해서, password의 get방식으로 넘겨주면 4번째도 풀린다!

( 암호화 사이트 : https://www.md5online.org/md5-encrypt.html )

하지만 풀리지 않는다! 그 이유는 매번 hint의 값이 바뀌기 때문이다.

계속 새로고침을 해본 결과, 1초당 1씩 늘어나는 것을 알 수 있었다!

따라서 hint의 값에 어느 정도 더해서 해시값을 구한 뒤, 계속 새로고침을 해보았다.


소스코드를 살펴보니, get방식과 post방식 그리고 쿠키값을 전송해야 단계가 풀린다!

소스코드를 만들어, 문제를 풀었다!

import requests

url="https://webhacking.kr/challenge/bonus-6/md555.php?imget=dobbygation"
c={'PHPSESSID':'자신의 세션','imcookie':'dobbygation'}
data={"impost":"dobbygation"}
res = requests.post(url, cookies=c, data=data)
print(res.text)


이번에는 ip주소를 md5로 암호화해서 쿠키값으로 전송하고, http_user_agent를 md5로 하여, post방식으로 전송하면 된다. ㅎ_ㅎ

소스코드를 만들어서 풀어보자!

import requests

url="https://webhacking.kr/challenge/bonus-6/gpcc.php"
c={'PHPSESSID':'자신의 세션','test':'<자신의 ip를 md5한 값>'}
data={"kk":"<자신의 HTTP_USER_AGENT를 md5한 값>"}
res = requests.post(url, cookies=c, data=data)
print(res.text)


7단계까지 왔다 ~ㅁ~ 

이번에는 ip주소를 get방식으로 전송하면 된다.

대신 조건이 있다!  . 을 없는 값으로 치환하고 있다.

즉, ip주소에서 .을 빼고 get방식으로 전송하면 되는 문제이다!


get방식으로 addr에 127.0.0.1을 전송하면 풀리는 문제이다!


answer을 구해서, get방식으로 넘기면 풀리는 문제이다.

파이썬방식으로 고쳐서, answer을 구했다.

answer=''
i=97

while(i<=122):
    answer+=chr(i)
    i+=2

print(answer)


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


구한 값을 뒤 경로에 이어 적으니, 문제가 풀렸당 :p

728x90

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

[webhacking.kr - old] 35번  (0) 2021.06.29
[webhacking.kr - old] 34번  (0) 2021.06.29
[webhacking.kr - old] 28번  (0) 2021.06.28
[webhacking.kr - old] 27번  (0) 2021.06.28
[webhacking.kr - old] 26번  (0) 2021.06.27
Comments