Bace
Webhacking.kr - old-33 본문
문제를 들어가보면 다음과 같은 화면이 나온다.
소스를 보면
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 |