-
[Webhacking.kr] Challenge 33Wargame/Webhacking.kr 2023. 5. 7. 11:16반응형
Challenge 33을 풀어보자.
문제 화면을 보면 Challenge 33-1이라는 문구와 view-source 링크, Wrong이라는 문구가 있다.
간단한 문제일 것 같은데, 뒤의 -1이 눈에 띈다.

<Challenge 33의 문제 화면> 페이지 코드를 보면, GET 요청으로 get 파라미터에 hehe라는 값을 넣으면 다음으로 이동할 수 있다.

<Challenge 33-1의 페이지 코드> url에 간단하게 입력을 해주니, Wrong이었던 글자가 Next로 바뀌며 링크가 생성되었다.

<Challenge 33-1 문제 완료> 웬지 문제가 길어질 것 같으니, 바로바로 페이지 코드를 보고 문제를 해결하는 방식으로 정리하도록 하자.
33-2는 post 방식으로 두 개의 입력을 해주면 된다.
Burp Suite을 실행시키고 post와 post2로 입력을 해주니 문제가 해결되었다.


<Challenge 33-2 문제 완료> 33-3은 GET 요청으로 myip 파라미터에 나의 ip 값을 넣어주면 해결된다.

<Challenge 33-3 문제 완료> 33-4는 GET 요청으로 password 파라미터에 md5 해시 알고리즘을 이용한 시간값을 넣어주면 된다.

<Challenge 33-4 문제 완료> 33-5는 GET 요청, POST 요청 그리고 쿠키 값을 생성해 넣어주면 된다.
임의의 값을 넣어주면 되므로 전부 1을 넣어주었다.


<Challenge 33-5 문제 완료> 33-6은 쿠키에 ip 값을 해시 암호화해 넣고, POST 요청으로 User agent를 해시 암호화해 넣어주면 된다.
User agent는 문제 화면에 힌트로 제공되어 있다.

<Challenge 33-6 문제 완료> 33-7은 GET 요청으로 내 ip를 입력하면 된다.
그런데 str_replace 함수를 이용해 내 ip에 있는 '.'을 삭제하였다.
그래서 ip를 제거한 후, url에 ?123123123123=123123123123 이런 식으로 넣어주면 문제가 해결된다.

<Challenge 33-7 문제 완료> 33-8은 GET을 extract하는데, 그 결과 GET에 임의의 값을 넣을 수 있다. (GET으로 받는 키 값을 변수화)
그래서 addr 파라미터에 127.0.0.1을 입력하면 문제가 해결된다.

<Challenge 33-8 문제 완료> 33-9는 GET 요청으로 ans 파라미터에 for 문을 통과한 값을 넣어주면 된다.
chr로 97부터 122까지를 2의 간격으로 입력받는데, a부터 y까지 한 문자씩 건너뛰며 입력해주면 된다.

<Challenge 33-9 문제 완료> 33-10은 긴 php 코드가 있는데, 내 ip를 이용해 for 문과 각종 함수들을 거쳐 answer를 추출한다.
직접 구할 수 있으면 시도해봐도 되지만, phptester 사이트로 가면 쉽게 문제를 해결할 수 있다.
구한 값을 이용해 .../bonus-6/answer/{$answer}_{$ip}.php를 입력해주면 문제가 해결된다.


<Challenge 33 문제 완료> 반응형'Wargame > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge 56 (0) 2023.05.07 [Webhacking.kr] Challenge 10 (0) 2023.05.07 [Webhacking.kr] Challenge 59 (0) 2023.05.07 [Webhacking.kr] Challenge 42 (0) 2023.05.07 [Webhacking.kr] Challenge 23 (0) 2023.05.07