본문 바로가기

WarGame/Web

[webhacking.kr 42번] -base64 & 다운로드 & 암호크랙

필히 본인이 풀어보시고 정말 안되겠다면 다음의 풀이를 확인하시길 바랍니다.



[그림 1] 42번 메인 페이지


먼저 문제의 페이지에 접근 시 [그림 1]과 같이 두개의 다운로드 파일이 존재한다.

test라는 제목의 파일을 다운로드 받을 시 [그림 2]와 같이 "test~~~"라는 문자열이 저장된 text파일이다.


[그림 2] no.2 test.txt


하지만 read me라는 제목의 파일을 다운로드를 할 때 접근권한문제로 다운로드가 되지 않는다.

[그림 3] no. 1 test.zip



[그림 4] 소스코드


다운로드가 가능 했던 두번 째 파일(test.txt)의 링크를 살펴보았더니 down이라는 변수에 파일명을 암호화해서 전송하는 형태를 볼 수 있다. 

그렇다면 파일명이 base64형태의 암호화가 이루어졌는지 확인해보자.




[그림 5] 두번째 파일명 디코딩


복호확가 정확히 이루어 진 것을 확인 할 수 있다.


그렇다면 우리가 다운로드 하고 싶은 파일명을 base64로 암호화 하여 down변수값으로 설정하면 다운로드가 가능하다.


[그림 6] test.zip파일 다운로드


이제 파일을 다운로드 받았으니 확인해보자.



[그림 7] 압축해제 시도


암호가 걸려있다. 하지만 크게 문제되지 않는다.

우리에겐 크랙툴이 존재하니.ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ



[그림 8] 비밀번호 크랙


fcrackzip을 이용하여 비밀번호 크랙을 시도하였다. 본래 크랙하는데 bruteForce를 시도하여 경우의 수가 엄청나지만 문제의 힌트에서 숫자로만 이루어졌다는 것을 감안하여 숫자로만 bruteforce를 시도하도록 하니 2초도 안걸렸다...


-b : brute force mode

-v : 자세한 정보 출력

-l : 글자 수 최소, 최대 글자

-u : 틀린 패스워드 출력 제외

-c : 문자 설정(오직 숫자라고 했으니 '1'을 입력합니다. 영어문자도 포함할 경우 aA 이런 식으로 -c와 쓰면 됩니다.)


'WarGame > Web' 카테고리의 다른 글

[webhacking.kr 41번] - 파일업로드,copy()함수 취약점  (0) 2016.02.17
[webhacking.kr 47번]  (0) 2016.02.11
[webhacking.kr 20번]  (0) 2016.02.11
[webhacking.kr 19번]  (0) 2016.02.05
[webhacking.kr 27번]  (0) 2016.01.19