반응형

Level 1



<%
    str = Request("str")

    If not str = "" Then
        result = Replace(str,"a","aad")
        result = Replace(result,"i","in")
        result1 = Mid(result,2,2)
        result2 = Mid(result,4,6)
        result = result1 & result2
        Response.write result
        If result = "admin" Then
            pw = "????????"
        End if
    End if
%>



문제내용은 이렇다.


str을 받아서 str의 a를 aad로 다시 i를 in으로 바꾼후 2번째부터 2글자 4번째부터 6글자까지

추출해 result를 만들고있다.

result가 admin이면 pw를 보여주는것으로 보인다.

역으로 올라가보면 어떠한 문자가 변환과정을 거쳤을때 2~6번째 글자까지가 admin이 나와야된다.

admin을 만들기위해선 result의 2~3가 ad 로 나와야 하고 4~9까지가 min으로 나와야한다.

a=>aad

i=>in

이렇게 바뀌므로 첫글자가 a여야 aad의 2~3번째 문자가 ad로 전환이 된다.

그리고 4~9가 min이 되기 위해선 a다음에 mi를 붙여 주어야한다.

답은 ami이다.

검산을 해보면 

첫번재 replace에서 aadmi로 바뀌고

두번째 replace에서 aadmin으로 바뀐다.

2~3번째와 4~9번째까지 추출해보면

admin이 나오는것을 알수있다.








반응형

'보안 > 써니나타스' 카테고리의 다른 글

써니나타스 6번  (0) 2020.02.25
써니나타스 5번  (0) 2020.02.01
써니나타스 4번  (0) 2020.02.01
써니나타스 3번  (0) 2020.02.01
써니나타스 2번  (0) 2020.02.01
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기