써니나타스 Level 1

해당 페이지의 사용 언어가 무엇인지 크롬의 개발자 도구[F12]로 확인해본 결과 ASP 파일로 되어있는 것을 알 수 있습니다.
해당 코드를 분석하기 위해 사용된 함수에 대해서 살펴보았습니다.
* Replace 함수 : 지정한 하위 문자열을 지정한 횟수만큼 다른 하위 문자열로 바꾼 문자열을 반환
* Mid 함수 : 문자열에서 지정한 개수의 문자를 반환
이제 해당 코드를 살펴보고 문제를 풀어보겠습니다.
1. result = Replace(str,"a","aad") --> 변수 str의 값 "a"을 "aad"로 바꾸고 변수 result에 저장
2. result = Replace(result,"i","in") --> result의 값 “i”를 “in”으로 바꾸고 result에 저장
3. result1 = Mid(result,2,2) --> result의 2번째 값부터 2개를 반환하여 result1에 저장
4. result2 = Mid(result,4,6) --> result의 4번째 값부터 6개를 반환하여 result2에 저장
5. result = result1 & result2 --> result1과 result2을 합침 = admin
5번을 보고 result1 + result2 = ad + min이 되는 것을 알 수 있습니다. 그럼 result는 ?admin이 되는 걸 볼 수 있습니다.
그리고 2번을 보면 result 는 ?admin --> ?admi이고, 1번으로 인해 result는 aadmi --> ami이 되는 걸 알 수 있습니다. 확인을 진행하면, ami - aadmi - aadmin - ad+min - admin이 올바르게 나오는 것을 볼 수 있습니다.
'CTF 문제풀이 > 써니나타스' 카테고리의 다른 글
| 써니나타스 (Suninatas) 2번 (0) | 2020.07.26 |
|---|