Bace

Webhacking.kr - old-33 본문

Webhacking.kr

Webhacking.kr - old-33

Bace 2019. 11. 4. 06:28

문제를 들어가보면 다음과 같은 화면이 나온다.

소스를 보면

get을 hehe 로 받으면 Next가 나오는 것 같다.

?get=hehe 로 보냈더니 Next가 나온다.

 

## 2단계

소스를 보면 post를 hehe, post2를 hehe2로 보내란다.

F12로 element에서 form을 추가했다.

여기에 hehe와 hehe2를 넣어서 submit 한다.

Next가 나온다.

## 3단계

소스를 보면

myip가 $_SERVER['REMOTE_ADDR'] 와 같아야 한다.

$_SERVER['REMOTE_ADDR'] 이므로 나의 외부 IP를 적어야 한다. 이건 인터넷에 외부 ip 확인이라고 검색하면 바로 나온다.

변수가 myip이므로 내 외부 ip를 적어보았다.

## 4단계

hint가 나오는데 새로고침 할 때마다 값이 바뀐다.

 

소스

GET으로 md5된 time() 값을 올리면 된다.

hint값을 보면서 타이밍을 잘 맞춰 보내야한다.

 

## 5단계

소스

GET으로 imget, POST로 impost, COOKIE로 imcookie 에 아무 값이나 넣어서 보내주면 될 것 같다.

GET

POST

COOKIE

 

값을 다 설정해주고 post로 만든 제출 버튼을 누르면 Next가 뜬다.

 

## 6단계

힌트에 HTTP_USER_AGENT 값이 나와있다.

 

소스

COOKIE로 test에 내 외부 IP 주소를 md5 하여 넣어주고 POST로 kk에 HTTP_USER_AGENT를 md5 하여 넣어주면 Next가 뜰 것 같다.

제출을 누르면 Next가 뜬다.

 

## 7단계

소스

외부 ip를 받아서 .을 공백으로 바꾼 후 GET으로 입력받은 값이 .을 공백으로 바꾼 값과 일치하면 Next를 띄워준다.

만약 자신의 ip가 192.168.0.1이라면 GET으로 ?19216801=19216801 이런식으로 .을 빼고 보내주면 된다.

 

## 8단계

소스

GET으로 외부 ip를 보내는데 ip가 127.0.0.1 이어야 Next를 띄워준다고 한다.

proxy 설정하여 burpsuite를 통해 127.0.0.1로 보내주었다.

 

## 9단계

소스

97부터 122까지 2씩 증가하면서 아스키코드로 나타내주고 그 값을 ans로 보내면 될 것 같다.

php 코드 테스트 하는 사이트에서 코드를 대입하여 결과값을 알아냈다.

 

## 10단계

소스

외부 ip를 아스키코드로 바꾸고 .을 공백처리하고 그 값을 0번째 자리부터부터 10번째 자리까지 받아서 *2를 하고 /2를 하는데 answer이 ip/2가 더 나중에 나왔으므로 answer은 ip/2로 인식된다.

그리고 answer에서 .을 공백으로 바꾼다

그리고 answer값_ip값.php로 보내준다.

 

복잡해서 php 테스트 사이트에서 코드를 실행했다.

여기서 나온 결과값에 .php를 붙여 소스에서 fopen에 나온 경로에 대입해주면 된다.

 

# solve

'Webhacking.kr' 카테고리의 다른 글

Webhacking.kr - old-42  (0) 2019.11.04
Webhacking.kr - old-36  (0) 2019.11.04
Webhacking.kr - old-26  (0) 2019.11.03
Webhacking.kr - old-24  (0) 2019.11.03
Webhacking.kr - old-54  (0) 2019.11.03