-
2팀_최민주_Write-Ups (Suninatas_5)2021/Write-Ups 2021. 11. 16. 00:57
써니나타스 5번 문제를 풀어보았다.
5번을 클릭하면 'Check Key Value'의 문구가 써져있는 창이 나온다. 보시다시피 아무 힌트도 보이지 않는다.
F12를 눌러 소스코드를 천천히 훑어보았다.
소스창 제일 마지막 코드에 주석으로 힌트가 달려있다.
쉽게 풀릴리 없지만 혹한 마음에 숫자열을 그대로 복사하여 Check를 눌러보았지만 아무 반응 없었다.
패턴없는 숫자열을 뚫어져라 쳐다보며 16진수, 8진수로 변환도 해봤지만 이 이상으로 힌트를 얻을 수 없었다. 숫자 자체에서 힌트를 얻는 걸 포기하고 소스코드 창을 더 자세히 살펴보았다.
소스코드 내에 스크립트 문을 제대로 해석할 수 없는 걸로 보아 난독화가 되어있다. 이 부분을 복호화하면 힌트를 얻을 수 있을 거라 생각하여 자바 복호화 사이트를 찾아보았다.
UnPacker (matthewfl.com) (자바 복호화 사이트)
스크립트 문을 그대로 복붙하여 UnPack 버튼을 클릭하였다.
아직 java 언어를 배우지 않아 완벽하게 이해하지 못했지만 직접적으로 힌트가 될만한 건 보이지 않았다. 'function PASS(n)'에 눈길이 갔다. 제공된 힌트가 숫자열이니 미지수인 n에 적합하고 인수 자리에 그대로 힌트를 입력하면 무언가 얻을 수 있을 거라 판단하였다.
콘솔창에 입력하고 엔터키를 눌렀더니 '9c43c20c'가 나타났다.
복붙하여 Check 버튼을 눌렀더니 Authkey가 나타났다. 정답은 'Unp@acking j@vaScript' 이다.
이 문제의 핵심은 패킹된 자바 스크립트문을 복호화 하는 것이다. (정답이 곧 문제의 풀이방법이다..^^)
성공~!
'2021 > Write-Ups' 카테고리의 다른 글
2팀_송설연_Write_Ups (HackCTF_Question?) (0) 2021.11.16 2팀_송설연_Write_Ups (Suninatas_15) (0) 2021.11.16 4팀_최민영 Write-Ups (HackCTF_Question? / 세상에서 잊혀진 날 찾아줘!) (0) 2021.11.15 3팀 이수현 Write-Ups(ctf-d_Graphics Interchange Format) (0) 2021.11.14 2팀_장지은_Write_Ups (Suninatas_1) (0) 2021.11.09