[SUNINATAS 1번] 문제풀이
문제들이 상당히 흥미롭게 구성된 워게임 사이트가 하나 있어서 문제를 풀고 리뷰해 보려고 합니다.
사이트 이름은 Suninatas이며, 2012년 4월 부터 서비스를 시작하여, 지금까지 쭉 관리되어 온 것으로 보입니다.
문제는 총 32개로 이루어져 있으며 그 중, 10문제가 웹 관련된 문제입니다.
Suninatas는 분류상으로 WEB, BINARY, FORENSIC, SYSTEM등의 4가지 주제로 문제들이 구성되어 있으며, 각 문제들이 기초에 충실하면서도 참신한 방법으로 구성되어 있으며, 난이도가 대체적으로 높지 않은 편이어서 초보자에게 추천하는 워게임이라고 할 수 있겠습니다.
Suninatas에서는 각 level을 클리어 하면, ‘AUTH KEY’ 라는 것을 제공합니다. 획득한 AUTH KEY는 해당 페이지에 입력하여, 문제를 풀었음을 증명 하는 데에 사용됩니다. 정상적으로 등록되면, CHALLENGE페이지에서 해당 문제가 색칠되어 클리어 한 것으로 표시가 됩니다.
WEB Level 1
문제 1번입니다.
입력값 처리에 대한 ASP코드가 모두 공개되어 있습니다.
ASP의 Replace() 함수와, Mid() 함수의 사용법만 알면, 풀 수 있는 간단한 문제입니다.
Replace() 함수 사용법
문법 | Replace( 문자열 , 치환될 문자열 , 치환할 문자열 ) |
사용 예시 | result = Replace( “abc” , “c” , “ab” ) print ( result )
출력 결과 : abab |
Mid() 함수 사용법
문법 | Mid( 문자열 , 시작 위치 , 자리수 ) |
사용 예시 | result = Mid( “abcdefg123456” , 6 , 3 ) print ( result )
출력 결과 : fg1 |
문제의 코드에서는 Replace() 함수 두개를 이용하여, 입력받은 값에서 문자'a'와, 문자'i'에 대해서 치환을 하여 전달한 뒤, Mid() 함수를 이용하여, 2~9번째 글자를 추출해 내는 코드가 작성되어 있고,
계산 결과가 'admin'일 경우에, PW를 반환하는 것으로 해석할 수 있습니다.
결과적으로 ami를 입력값으로 입력하면,
ami -> aadmin -> admin
으로 처리되어 넘어가는 형식 입니다.
정답을 입력하면, 프레임 하단에 Authkey가 나오고, 이를 AUTH KEY 페이지에 입력하면 1단계를 클리어 합니다.