써니나타스 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) --> result4번째 값부터 6개를 반환하여 result2에 저장

5. result = result1 & result2 --> result1result2을 합침 = 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

+ Recent posts