CTFlearn의 열다섯번째 문제
두번째로 나온 Medium 난이도의 문제이다.
또 처음으로 풀이수가 10000 이하로 내려간 문제이다.
풀이수가 적은건 아무래도 문제가 어려워서라기 보다는
여기까지 꾸준히 하는사람이 그렇게 많지 않아서 그런듯 하다.
문제 제목에 Head(er) 이라고 적혀있는걸 보면 알 수 있듯이
간단한 웹 요청패킷 헤더 변조 문제이다.
문제 페이지에 접속하면 user agent 가 올바르지 않다면서 웹사이트에 접속할 수 없다는 문구가 나온다.
뒤에는 The one you supplied is : 라는 문구가 나오면서
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
이렇게 생긴게 적혀있는데
요청패킷을 본다면 아주 쉽게 이해할 수 있다.
해당 페이지에서 f12를 눌러 개발자 도구를 열어 준 뒤
네트워크 탭에서 요청 패킷의 헤더를 살펴보면
User-Agent 항목에 아까봤던 Mozilla ~~ 가 적혀있는게 보인다.
여기 적혀있는 내용을 그대로 웹페이지에서 echo 해준것이다.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
MDN에 있는 설명을 인용해서 보면,
클라이언트의 어플리케이션, 운영체제, 벤더 및 버전 등을 식별해주는 역할을 하는것이 바로
User-Agent 헤더이다.
일단 지금 user agent 가 올바르지 않다고 했으니 다른것으로 바꿔야 한다.
개발자 도구의 요소 탭을 살펴보면
웹페이지에 주석으로 처리된 문자열이 보인다.
Sup3rS3cr3tAg3nt
Super Secert Agent 라고 적혀있는데 이걸로 헤더를 바꿔보면 될 것 같다.
Burp Suite 라는 프록시 도구를 사용하면 헤더를 변조할 수 있다.
패킷을 캡쳐한 후, reperter 기능을 이용해 조작해주었다.
일단 지금은 원래대로 Mozilla ~ 가 출력되고 있는 중이다.
User-Agent 헤더를 Sup3rS3cr3tAg3nt 로 바꿔줬더니
오른쪽 응답 패킷의 문구가 변경되는것을 볼 수 있다.
Sorry, it seems as if you did not just come from the site, "awesomesauce.com".
awesomesauce.com 페이지에서 넘어온 것이 아니라고 접속을 안시켜주고 있다.
이건 Referer 헤더를 이용하면 된다.
Referer 헤더는 이전 페이지의 주소를 알려주는 역할을 한다.
티스토리에서 유입경로를 판단하는데도 아마 이 Referer 헤더가 사용될 것이다.
버프스위트에서 Referer 헤더를 추가로 작성해주면 된다.
작성한 뒤 요청 패킷을 전송하면
오른쪽처럼 플래그가 적힌 응답 패킷을 만날 수 있다.
'워게임 > CTFlearn' 카테고리의 다른 글
[CTFlearn] QR Code - MISC / Base64 / ROT13 (46) | 2022.08.28 |
---|---|
[CTFlearn] BruXOR - 암호학 / XOR (50) | 2022.08.26 |
[CTFlearn] Vigenere Cipher - 암호학 (55) | 2022.08.21 |
[CTFlearn] Hextroadinary - 암호학 / XOR (45) | 2022.08.17 |
[CTFlearn] WOW.... So Meta - 포렌식 / ExifTool (53) | 2022.08.14 |