article thumbnail image
Published 2022. 5. 16. 21:23

문제: http://suninatas.com/challenge/web05/web05.asp

어떤 form 하나가 있고 그 아래에 "Check Key Value"가 적혀있다.

어떤 key value를 확인하라는 걸까, 개발자 도구를 열어봤다.

 

 

 

가장 먼저 보이는 건 주석 처리된 힌트였다.

힌트는 12342046413275659 숫자열이었고, 이 값을 input에 입력해보았지만 아무일도 일어나지 않았다.

 

 

 

좀 더 도움이 될만한 걸 찾기 위해 소스를 살펴보다가 table에 숨겨진 script를 발견했다.

난독화가 되어 있는지 지금 상태론 무슨 코드인지 알아보기 힘들어보인다.

코드 난독화를 해제해보자. 아래 링크에서 코드 난독화를 해제할 수 있다.

 

 

 

그 결과 위와 같은 코드가 나왔다.

코드를 천천히 보면 PASS라는 함수는 숫자 n을 매개변수로 받는 것 같고, 이 값을 어떠한 처리를 거쳐서 digitArray에 접근할 인덱스로 만들어 준다. 해당 인덱스로 digitArray에 접근해서 result에 한 글자씩 추가하는데 이 과정을 총 8번 반복하는 것으로 보아 8자리의 string을 생성해서 반환하는 것 같다.

 

 

 

이때 아까 주석에서 힌트로 있었던 12342046413275659 숫자열이 생각났고 이 값을 PASS함수에 전달해주면 유의미한 값을 얻을 수 있을 것 같았다.

 

 

 

바로 JS를 실행시켜서 값을 얻어보니 예상대로 8자리의 string이 콘솔에 출력됐다.

이 값을 아까 문제 페이지의 input에 입력후 전달했다.

아래 링크에서 JS를 실행해볼 수 있다.

 

 

 

 

 

 

 

 

'Study > Web Hacking' 카테고리의 다른 글

[suninatas] Game 07  (1) 2022.05.16
[suninatas] Game 06  (1) 2022.05.16
[suninatas] Game 04  (1) 2022.05.10
[suninatas] Game 03  (1) 2022.05.10
[suninatas] Game 02  (1) 2022.05.10
복사했습니다!