자바스크립트 난독화와 관련된 웹해킹 문제
어렵지 않게 풀 수 있었다.
문제설명을 읽어보면
웹사이트를 만들고 있는데 뭔가 흥미로운게 있는지 찾아보라고 한다.
별도의 소스파일 없이 문제페이지 주소만 제공되고 있다.
문제페이지 주소인 web1.affinityctf.com 페이지로 이동해보면
자동으로 /construction.html 페이지로 리다이렉트 된다.
아직 웹사이트를 만들고 있는 중이라 접속하면 바로 튕기게끔 만들어 놓은듯 하다.
Burp Suite 라는 도구를 이용해 web1.affinityctf.com 페이지에 접속할 때
돌아오는 응답패킷을 한번 캡쳐해 봤다.
응답패킷을 보니 /construction.html 로 자동으로 튕기게끔 설정되어 있고,
리다이렉트 시키는 스크립트는 /redirect.js 경로에서 가져오는듯 했다.
URL에 /redirect.js 를 입력해서 한번 들어가 봤다.
그랬더니 아주 복잡하게 난독화 되어있는 자바스크립트 코드를 볼 수 있었다.
이걸 일일히 분석해서 해석하는것은 불가능하다.
난독화된 자바스크립트를 de4js(https://lelinhtinh.github.io/de4js/) 라는 사이트에서 풀어보았다.
코드를 입력하고 Auto Decode 버튼을 누르면 보기 쉽게 바꿔주는데
아래쪽으로 내려보니 getData() 라는 함수가 눈에 띄었다.
s + sn + sm + sp ... 부분으로 보건데 난독화되어 쪼개져있는 각 부분을 합쳐서
마지막에 console에 로그로 찍어주는 느낌이었다.
F12를 눌러 개발자도구의 콘솔 탭에서
/redirect.js 파일의 내용 전체를 복붙해 엔터를 친 뒤,
아까봤던 getData() 를 입력해주면
플래그가 출력되는것을 볼 수 있다.
'CTF > 웹해킹' 카테고리의 다른 글
[LACTF] metaverse - 웹해킹 / 크로스사이트스크립트 (67) | 2023.02.26 |
---|---|
[LACTF] colleage-tour - 웹해킹 / 개발자도구 (83) | 2023.02.19 |
[Affinity CTF] Path of Double-Dipping - 웹해킹 / Double Encoding (54) | 2022.12.29 |
[Affinity CTF] sooodefault - 웹해킹 / Python (53) | 2022.12.27 |
[Cyber Security Rumble] Cyberwall - 웹해킹 / Command Injection (62) | 2022.12.19 |