안녕하세요. 정보보안 등대지기입니다.
오늘은 1번 문제를 풀어보도록 하겠습니다.
※ 정답만 보지 마시고 실습을 통해 문제를 직접 풀어보시는 것을 추천드립니다.
1번을 클릭하면 Level 1이라는 문구 아래로 입력 폼이 있습니다.
입력 폼 아래로는 pw의 값을 구하는 소스코드가 보입니다.
아무래도 입력 폼에 찾아낸 pw값을 넣으면 문제는 해결될 거 같습니다.
주요 소스코드를 해석해 봅니다.
◎ str = Request("str")
- 사용자가 입력한 요청값을 str에 저장
◎ If not str = "" Then
- 만약 문자열이 빈 칸이 아닐 경우
◎ result = Replace(str,"a","aad")
- str 값의 문자열 중 "a"는 "aad"로 변경 후 result에 저장
예) admin => aadmin
◎ result = Replace(result, "i", "in")
- result 값의 문자열 중 "i"는 "in"으로 변경 후 앞서 "a"는 "aad"로 변경한 result에 저장
예) aadmin => aadminn
◎ result1 = Mid(result,2,2)
- result 값의 문자열 중 2번째 단어부터 2개의 단어만 result1에 저장
예) result = aadminn일 경우 result1 = ad
◎ result2 = Mid(result,4,6)
- result 값의 문자열 중 4번째 단어부터 6개의 단어만 result2에 저장
예) result = aadminn일 경우 result2 = minn
◎ result = result1 & result2
- result1에 저장된 문자열과 result2에 저장된 문자열을 합침
예) result1 = ad, result2 = minn일 경우 result = adminn
◎ If result = "admin" Then
pw = "????????"
- 만약 result 값이 "admin"일 경우 pw 값은 "????????"다
즉, result값이 "admin"이 되게끔 str 값을 완성시키면 되며 그 값이 pw값이다. 라는 뜻입니다.
str 값에 "ami"를 넣어 재해석해보겠습니다.
◎ str = Request("str")
- 사용자가 입력한 요청 값을 str에 저장
str = ami
◎ If not str = "" Then
- 만약 문자열이 빈칸이 아닐 경우
◎ result = Replace(str, "a", "aad")
- str 값의 문자열 중 "a"는 "aad"로 변경 후 result에 저장
ami => aadmi
◎ result = Replace(result, "i", "in")
- result 값의 문자열 중 "i"는 "in"으로 변경 후 앞서 "a"는 "aad"로 변경한 result에 저장
aadmi => aadmin
◎ result1 = Mid(result,2,2)
- result 값의 문자열 중 2번째 단어부터 2개의 단어만 result1에 저장
result = aadmin일 경우 result1 = ad
◎ result2 = Mid(result,4,6)
- result 값의 문자열 중 4번째 단어부터 6개의 단어만 result2에 저장
result = aadmin일 경우 result2 = min
◎ result = result1 & result2
- result1에 저장된 문자열과 result2에 저장된 문자열을 합침
result1 = ad, result2 = min일 경우 result = admin
정답은 ami입니다.
입력 폼에 ami를 넣고 Check를 클릭하면 아래에 Authkey값이 나옵니다.
1번 문제 풀이는 여기서 마치겠습니다.
보안에 관심 있는 분들이 손쉽게 이해하고 접근할 수 있도록 노력하겠습니다 :)
질문 또는 조언해주실 분은 아래 댓글 또는 메일로 남겨주세요.
cjh1503123@naver.com
'suninatas.com > Challenge' 카테고리의 다른 글
suninatas(써니나타스) 7번 문제 풀이 (1) | 2021.01.31 |
---|---|
suninatas(써니나타스) 5번 문제 풀이 (2) | 2021.01.19 |
suninatas(써니나타스) 4번 문제 풀이 (0) | 2021.01.12 |
suninatas(써니나타스) 3번 문제 풀이 (0) | 2020.12.31 |
suninatas(써니나타스) 2번 문제 풀이 (0) | 2020.12.02 |