어떤 문자열을 입력하면 Check를 한다.

 

asp 웹 문법이 2종류가 나온다.

1. Replace(str, "a", "aad") → 입력한 문자열(=str)에서 "a"라는 문자를 "aad"로 바꿈.

2. Mid(str, 2, 2) → 입력한 문자열(=str)에서 2번째 문자포함 2개의 문자를 가져온다.

(3번째 인자의 값이 총 문자열의 길이 이상일 경우(out of range) : 문자열 끝까지 반환)

(문자열을 셀 때 맨 앞의 첫 문자가 0번째 문자가 아님. 1번째 문자)

 

Replace(str, "a", "aad")

입력한 문자열(=str)에서 "a"라는 문자를 "aad"로 바꿈.

Replace(str, "i", "in")

입력한 문자열(=str)에서 "i"라는 문자를 "in"로 바꿈.

Mid(str, 2, 2)

입력한 문자열(=str)에서 2번째 문자포함 2개의 문자를 가져온다.

Mid(str, 4, 6)

입력한 문자열(=str)에서 4번째 문자포함 6개의 문자를 가져온다.

 

result = result1 & result2

result1 = "abc" 이고 result2 = "def" 일 경우

result 는 "abcdef" 가 된다.

 

Response.write result

이 코드는 result 라는 변수에 결과 값을 쓰는 코드로 보인다.

 

그렇게 해서 만들어진 result 변수의 문자열을 검사해서 "admin"이라는 문자열과 같으면

PW를 알려준다.

 

그럼 우리가 할 일은?

 

"STR" → Replace(str, "a", "aad") → Replace(str, "i", "in") → Mid(str, 2, 2) → Mid(str, 4, 6) → & 연산 → "admin"

에서

 

"STR"에 어떤 문자열을 넣어야 하나? 이다.

 

나는 이 문제를 풀 때 Replace(str, "a", "aad")가 있으므로

"a"부터 시작했다.

 

STR = "a"

 

그러면 "a"는 "aad"로 바뀌고, "admin"이 나와야 하므로 "m"을 추가했다.

 

STR = "am" → "aadm"

 

그리고 "in"이 나와야 하는데, "i"만 넣어도 "in"이 반환되므로 "i" 만 추가한다.

 

STR = "ami" → "aadmi" → "aadmin"

 

다음, result1은 Mid(str, 2, 2) 이므로

result1 = "ad"

 

result2는 Mid(str, 4, 6) 이므로

result2 = "min" (→ 6개가 다 없기 때문에 문자열 끝까지만 반환한다)

 

결국, result = result1  & result2 이기 때문에

result = "admin" 이 나온다.

 

blank에 ami를 치면

 

정답이다.

 

그러면 아래에 이렇게 Authkey가 공개된다.

 

1번은 너무 쉬운 문제였다.

'보안 & 모의해킹 > SuNiNaTaS' 카테고리의 다른 글

[SuNiNaTaS] challenges_10  (0) 2019.11.06
[SuNiNaTaS] challenges_04  (0) 2019.10.07
Posted by NDC :