2013-07-26 오전 10시부터 오후 10시까지 코드게이트에서 주최하는 주니어 ctf가 열렸습니다.                      

아침부터 학원을가서 거의 2시간 다 되서 돌아와서 풀기 시작했는데 벌써 올클 하신분도 계시더군요 -.-


시스템 분야는 아예 자신이 없어서 대회전부터 겁을 먹고 시작했었는데 다행이 처음 3문제는 시스템이 아니더군

요. 시스템공부도 열심히 해서 다음을 기약하며 간단하게 write up 끄적여 봅니다.


#1 

HQGOHVVURERWZDU

위 암호문이 주어지고 문제가 주어졌습니다.

알파벳을 보자마자 떠오른게 시져암호 였는데 key를 1부터 하나하나 해보니 key가 3일때 

ENDLESSROBOTWAR이라는 글자가 나오더군요.

인증했더니 정답이였습니다.


#2

두번째 문제는 리버싱이였습니다. 바이너리를 다운받고 올리로 까본결과 

키가 아니라는 문자열로 가게 해주는 jnz들이 다수 존재했고 jnz바로 위에 입력한글자에서 

특정값과 xor한다음 그걸 비교해주는 연산이 존재했습니다.

각 조건에 맞는 값을 xor해서 구해줘서 이어주면 

hello junior hackers라는 정답이 나왔습니다.


#3

어이없게 삽질을 했던 문제엿습니다.

사이트가 주여졌고 사이트에 들어가보면 id 와 password를 입력하는 창과 두 소스가 주어졌습니다.

계정은 admin_1000 부터 admin_9999까지 사용할 수 있게 코딩이 되어있더군요.

첫번째 소스(login_ok.phps)를 봐보니 @fopen하는 부분에 id_pass_db 디렉토리가 보였습니다.

혹시 되나 하고 그 디렉토리로 접속을 해봣더니 각 계정마다 password가 txt파일로 있더군요.

아이디와 비밀번호를 입력하고 로그인을 하려하자 너무 많은 시도로 block되 있다고 나왓습니다

그래서 두번째 소스인(remove_block_ok.phps)를 봤습니다.

소스를 보면 $authcode를 입력받고 이를 특정값이랑 비교해주는 부분이 있는데 여기서 authcode를 찾아내는

라 조금 삽질을 했었습니다. 그러나 소스 아래부분을 다시 봐줬을때 /block 이라는 디렉토리가 존재하였고 

그 디렉토리를 봐본결과 block이 설정된 계정들 목록이 있더군요.

그래서 거기에 없는 계정으로 다시 패스워드 구해서 로그인 해줬더니 키가 나오고 풀렸습니다.


나름 자극도 받았고 비록 3문제 밖에 못풀었지만 내년에는 꼭 이보다 더 좋은 성적을 위해 노력해야 겠습니다.

대충 끄적인 풀이 읽어 주셔서 감사합니다 ..ㅋㅋ


'General News > Write-Ups' 카테고리의 다른 글

HackIM nullcon 2015 exploitation100  (0) 2015.01.11
ChristmasCTF ALGO200  (0) 2014.12.26
CSAW CTF 2014 Pybabies  (0) 2014.09.26
codegate 2013 vuln200 - exploit only  (0) 2014.02.14
ropasaurusrex  (1) 2013.12.06
Posted by xer0s :