본문 바로가기

Web/suninatas.com

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
%>

 

가장먼저 소스코드를 따라가보면,

 * mid("텍스트", 시작할 위치, 추출할 텍스트 수)

a=aad로, i는 in으로 치환을 하고

result1은 result의 2번째 문자열부터 2개를

result2는 reulst의 4번째 분자열부터 6개를 삽입

결과적으로 result는 result1과 result2의 and 연산 결과가 나와야 한다

이를 바탕으로 result가 admin이 나오도록 하려면 위과정을 역으로 진행해야 한다

 

result1 & result2 = admin이 될 수 있는 결과는

result1 = ad

result2=min

여기서 다시 치환 연산자를 반대로 쓴다면

*ad -> a

in -> i

예측 결과로 a_i

이 결과에서 보면 m 이 빠진다 

 

따라서 정답은 ami가 된다