CTF, 워게임 문제 풀이/Try Hack Me

THM: Walking An Application

secumark 2025. 6. 1. 18:28
728x90

Jr Penetration Tester > Introduction to Web Hacking > Walking An Application

 

웹 애플리케이션에 대해 공부중

 

View Source code와 개발자코드 부분의 기초를 공부중이다.

 

어떤 페이지에 들어갔는데, 어떤 한 빨간 박스가 뜨자마자 잽싸게 사라진다. 이 빨간 박스 안에 있는 flag 값이 뭔지 알아 내는게 문제 중 하나. 개발자 도구 > debugger에 flash.min.js가 있는데, 이게 한 줄로 Obfuscation 되어 있더라. 이걸 예쁘게 볼 수 있는 방법을 하나 배웠다.

 

Debugger

Pretty print source

 

 

 

그럼 이렇게 가독성 좋은 코드로 바뀐다. 여기서 110번째 줄에 있는 flash['remove'](); 부분에 breakpoint를 걸 수도 있더라. 

 

여기서 flash['remove']()는 화면에 만들어졌던 flash라는 HTML 요소(DIV)를 DOM에서 제거하는 명령이다. 즉, document.body에 추가된 알림창 또는 어떤 시각적 요소를 5ms 후에 자동으로 삭제하는 것이죠. 5ms 후에 화면에 잠깐 나타났던 flash div를 자동으로 제거하는 코드로, document.createElement('DIV')로 만든 document.body.appendChild(...)에 의해 붙었던 메시지를 remove()를 통해 매우 빠르게 지우는 것.

 

 

 

Network

 

요 network는 이 페이지가 요청하고 있는 모든 파일을 볼 수 있다. 쓰레기통 버튼 눌러서 overpopulated 된 페이지도 다 없앨 수 있음

 

그리고 contact 페이지에 있는 간단한 폼을 send 하면

 

 

contact-msg가 뜬다.. 저 안에 X-FLAG: flag 값이 있었음. 이런 X-FLAG 같은 헤더는 비표준(Custom) 헤더로서 서버 개발자가 직접 만든 임의의 헤더라고 한다. HTTP 명세에 없어도 접두사에 X-가 오면 커스텀 헤더로 취급!

 

728x90