<% 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가 된다