1번 문제를 풀고나서 다음으로 어떤 문제를 풀어볼까~하며 보다가 

점수대가 비교적 낮은 4번 문제를 먼저 풀어보기로 했다.

 

4번 문제를 풀이 하기 전에 base64의 인코딩 기법에 대해 잠깐 설명을 하고 넘어가야 할 것 같다. 

 

base64는 문자열을 64개의 문자만으로 나타내는 인코딩 기법이다.

문자열을 10진수 아스키 코드로 변환한 뒤, 2진수 8자리로 변환한다.

그 후에 2진수를 6자리씩 끊어서 64가지 문자로 만든다.

이 때 아스키 코드는 2진수 8자리로 변환되기 때문에, 6자리씩 끊었을 때 나누어 떨어지지 않는 경우가 생긴다.

그 경우 나머지 자리를 0으로 채운 뒤에 빈 공간 만큼을 =으로 채운다.

그래서 문자열 끝에 있는 ==은 이 문자열이 base64로 인코딩되었다는 사실을 알려준다.

 

 

 

 

 

4번 문제를 클릭하고 들어가보니 문자열 끝에 ==표시를 보고 이 문자열은 base64로 인코딩 됐음을 알 수 있다. 

 

 

 

 

 

그래서 주어진 문자열을 base64로 디코딩 해보니 아래와 같은 문자열이 나왔다.

그리고 아래 문자열을 넣고 다시 디코드 버튼을 눌렀는데 디코딩이 되지 않았다.

 

저 아래 문자열은 뭔가 다른 방법으로 다가가야 할 것 같아서 구글링을 해보니 저 문자열은 문자의 갯수가 40개인 것으로 보아 sha1으로 인코딩되어있음을 알 수 있다고 나와있었다. (sha1 인코딩의 특징이라고 한다.)

 

sha1 암호화는 최대 2의 64비트 메시지에서 160 비트의 해쉬값을 만들어낸다.

이를 통해 이 문자열은 sha1으로 암호화 되어있을 것이라는 추측을 할 수 있다고 한다.

 

 

 

 

그래서 그 문자열을 sha1으로 디코딩해보니 또 다시 문자가 40개인 문자열이 나왔다.

 

 

 

 

그래서 다시 한번 더 sha1으로 디코딩 해주니 test라는 문자가 나왔다.

 

 

 

 

 

Password 창에 test 를 입력! 

 

 

 

 

 

4번 문제를 해결했다!! ★☆

 

 

 

 

4번 문제를 풀고 150점을 받았다.

 

 

 

 

 

 

 

 

 

'Web Hacking' 카테고리의 다른 글

[웹해킹] 54번 문제  (0) 2017.09.04
[웹해킹] 38번 문제  (0) 2017.09.04
[웹해킹] 6번 문제  (0) 2017.05.01
[웹해킹] 1번 문제  (0) 2017.04.17
[웹해킹] 회원가입 및 로그인  (0) 2017.04.13

+ Recent posts