32번 문제의 Title은 「Easy Trick」입니다.
PHP트릭을 이용해서 키를 구하라는 문제입니다.
Source Page는 다음과 같습니다.
소스코드 분석을 해보자면, Get메소드를 통해 전달받은 a 변수가 ""일 때는 "WUT?? 31337?"이라는 문자열을 내보내고, urlencode(a)한 값이 NULL이 아니고 "12735366333132132465461?????????????????????????????"이라는 값과 일치할때는 KEY를 출력합니다. 일치하지 않으면 "Failed ur tricks"라는 문자열을 출력하고, isset함수에서 false를 반환할 경우 "WTH?"이라는 문자열을 출력합니다.("What The Hell?"인 듯 합니다)
Prob Page에 들어가보면 다음과 같습니다.
"WUT?? 31337?"이라는 문자열을 볼 수 있는데, 무슨 암호인가 싶었지만 "What?? Elite?"로 해석하면 될 듯 합니다. 31337이 elite라는 뜻으로도 쓰이는 모양인데, 아마 elite를 eleet라고 쓰다 31337이 된 듯 한데 확실한지는 잘 모르겠습니다.
문제는 "12735366333132132465461?????????????????????????????" 라는 문자열인데, 도무지 뭘 해야 할지 감이 안잡히다가 글자수를 세어보니 의문의 숫자 23글자에 물음표 29자로 총 52글자였습니다. 혹시 물음표에 다른 숫자를 채워야 하는 건 아닐까하는 생각에 1을 채워보니 다음과 같았습니다.
...KEY가 나와버렸습니다. Easy Trick 문제인데 이 Trick이 뭔지도 모르면서 답을 구해버렸습니다. 나중에 직접 소스코드 돌리면서 알아봐야 겠습니다.
글자수가 32글자여서 md5를 의심하고 decode를 해보니 "MJP"라는 값이 나옵니다.
인증을 해보니까 MJP는 답이 아니었고(MJP를 그냥 때려맞추는 경우를 대비한 모양입니다), "8a3d223721fe4e1db2d8dbad9d0b6dda"가 답이었습니다.
답 : 8a3d223721fe4e1db2d8dbad9d0b6dda
'쉬는시간 > xcz.kr' 카테고리의 다른 글
[xcz.kr] PROB12 문제풀이 (0) | 2015.11.01 |
---|---|
[xcz.kr] PROB17 문제풀이 (0) | 2015.11.01 |
[xcz.kr] PROB9 문제풀이 (0) | 2015.10.31 |
[xcz.kr] PROB8 문제풀이 (0) | 2015.10.30 |
[xcz.kr] PROB1 문제풀이 (0) | 2015.10.29 |