Level1
목표 : 'str'이라는 파라미터를 전송하여 아래와 같은 로직을 거쳐서 admin이 된다면 인증키를 출력.
ASP 소스입니다. 비교적 간단한 소스입니다.
Request('파라미터') : get과 post에 구분없이 파라미터를 가져온다. Replace(변수, '문자열','변경할 문자열') : 변수나, 문자열을 받아와 해당 문자열을 변경한다. Mid(문자열, 시작할위치, 갯수) : 변수나 문자열을 해당위치에서부터 갯수만큼 문자열을 자르는 함수. |
위의 함수만 알면 충분히 해결할 수 있는 문제입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <% str = Request("str") //str이라는 파라미터를 받아온다. If not str = "" Then result = Replace(str,"a","aad") //a라는 문자를 aad로 변경 result = Replace(result,"i","in") // i라는 문자를 in으로 변경 result1 = Mid(result,2,2) //2번째 문자부터 2개까지 잘라 변수에 저장 result2 = Mid(result,4,6) //4번째 문자부터 6개까지 잘라 변수에 저장 result = result1 & result2 //자른 두 변수를 합친다. Response.write result //출력 If result = "admin" Then //결과가 admin이라면 인증키 pw = "????????" End if End if %> | cs |
ami를 입력하면 aadmin이라는 문자열로 변경됩니다.
여기서 aadmin에서 a[ad]min, ad를 잘라 result1에 저장합니다.
aad[min ]를 result2에 저장합니다.
이를 다시 합친다면 admin이되기 때문에 ami를 입력하면 인증키를 얻을 수 있습니다.
AUTH메뉴에서 인증키를 입력하면 문제를 클리어 할 수 있습니다.
'Wargame | CTF > Suninatas' 카테고리의 다른 글
[Suninatas] Level 4 (0) | 2016.11.23 |
---|---|
[Suninatas] Level 3 (0) | 2016.11.23 |
[Suninatas] Level 2 (0) | 2016.11.23 |