* 해당 문제는 단계별 문제를 전체적으로 해결해야 플래그를 얻을 수 있다.
33-1

소스코드를 확인해본다.

get형식으로 hehe를 전달하면 next 링크를 보여주는 것 같다.
url에 ?get=hehe 를 입력해서 next로 넘어간다.

33-2
로 넘어간다.

post 형식으로 post=hehe와 post2=hehe2를 동시에 전달할 수 있으면 next로 넘어갈 수 있을 것 같다.
Burp Suite를 통해 post 형식으로 전달해준다.

화면의 change request method를 통해 get 전송 방식을 post 방식으로 바꿔준다.

맨 아래에 post=hehe&post2=hehe2 를 입력해준다.

change body encording 눌러준 후 전송하면 next로 넘어갈 수 있다.
33-3

get 방식으로 myip가 현재 사용자의 ip와 일치하면 next로 넘어갈 수 있는 것 같다.
url에 ?myip=본인ip 을 전달해주면 next로 넘어갈 수 있다.
https://www.myip.com/#google_vignette
Check your IP address | MyIP.com
For inquiries or feedback please get in touch at:
www.myip.com
33-4
hint : 1709969660

현재 시간과 md5 해싱한 값이 같으면 다음, 다르면 힌트로 현재시간을 알려준다.
힌트에 있는 시간은 유닉스에서 시간을 표현하는 방법으로 1970년 1월 1일부터의 시간을 나타낸다.
힌트에 적당한 숫자를 더한 후(+30초) 그 사이에 해시값 생성 사이트를 통해 해시값을 생성해 준다.
30초 이후에 정확하게 get방식으로 url에 패스워드를 입력하면 4번 문제를 해결할 수 있다.

33-5

버프스위트로 imget=1, impost=1, cookie : imcookie=1; 각각 입력해준다.
(post 방식으로 변경 후 입력해준다.)

33-6

ip해싱, user_agent 해싱-> 틀리면 힌트로 user_agent를 보여준다.

해싱 값을 Burp Suite를 통해서 전달해준다.
33-7

ip주소 가져와서 .제거한 후 ip주소에 다시 넣어준다.
ip 주소가 일치하면 next로 넘어갈 수 있다. (get방식 사용)

33-8

get방식으로 addr이 127.0.0.1과 일치하는지 체크 후 전달한다.

33-9
아스키코드값97~122까지 반복문을 돈다. 해당 문자값을 answer 변수에 넣고 ans이 answer과 일치하는지 체크한다.

a부터 2씩 더해서 문자를 완성한다.
?ans=acegikmoqsuwy
33-10

사용자의 ip를 가져온다
아스키코드값으로 변환한다.
.를 제거한다
ip를 앞에서부터 10글자만 남긴다.
ip를 2곱하고 2로 나누어준다.
answer에서 .를 제거한다
answerip 디렉토리 내에 생성할 파일의 이름을 결정한다. answer과 ip를 조합하여 생성한다.
"../../../config.php" 파일을 포함하고, "solve(33)" 함수를 호출하며, 생성된 파일을 삭제

사이트를 통해 해당 연산을 수행해준다.


해결
'아이슬리 과제' 카테고리의 다른 글
| 24-1 워게임4 webhacking.kr 61 (0) | 2024.03.18 |
|---|---|
| 24-1 워게임3 webhacking.kr 42 (0) | 2024.03.13 |
| 24-1 프로그래밍 문제2 백준 4153 (0) | 2024.03.13 |
| 24-1 프로그래밍 문제 1 백준 10250 (0) | 2024.03.13 |
| 아이슬리 1주차 과제 (0) | 2023.09.08 |