suninatas 1번 (WEB)

2017. 12. 30. 23:150x02 Reverse Engineer/0x03. Etc

728x90

웹 카탈로그가 따로 없어서 리버싱과 동등한 카탈로그에 넣었당 이건 뭐 상관없는거니까 ~ 


웹 문제에 도전을 해보았다.


우선 주어진 조건은 다음과 같다,



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


해당 웹언어는 ASP이다. 


Replace는 앞의 단어를 뒤의 단어로 교체하는 것이고

Mid는 제일 첫 단어를 1 인덱스로 삼고, 주어진 인자 값에 의해 자를 수 있다.


현재 이 문제에서는 a를 aad로 한다고 했으니


내가 만약 a를 입력하면 ----> aad로 치환된다.


내가 만약 a를 입력하면 aad로 치환되면서, 2,2로 Mid 처리하니까 2번째 단어부터 길이를 2만큼 자른다는 뜻이 된다.


그렇다면, 실제적으로 내가 a를 입력하면 ad만 출력되게 되는 것


마찬가지로 i를 입력하면 ---> in이 됨을 알 수 있다. 


요구한 사항은 admin이다. 


어떻게 해야 admin이 Replace와 Mid 를 거친 후 나올 수 있을까?


ami 하면 된다.


a를 했을 때 add

m은 아무런 필터 없고

i를 하면 in 


인증 값은 적어두지 않을 것이당 


꽤 재밌다~ 

'0x02 Reverse Engineer > 0x03. Etc' 카테고리의 다른 글

suninatas 3번 문제  (0) 2017.12.30
suninatas 2번 문제 (WEB)  (0) 2017.12.30
suninatas 11번 문제  (0) 2017.12.30
suninatas 9번문제  (0) 2017.12.30
suninatas 10번 문제  (0) 2017.12.30