본문 바로가기
Write Up/webhacking.kr

Webhacking.kr 문제풀이_Part5_4번 문제

by 비원(Be one) 2019. 7. 2.
반응형

여러분 안녕하세요. POCI입니다.

꾸벅

이번 시간에는 Webhacking.kr의 4번 문제를 풀어보도록 하겠습니다.

 

 


1. 사이트 둘러보기

4번 문제에 들어가면 이상한 문자 배열 하나와 무언가를 입력할 수 있는 란이 나옵니다.

 

아마도 이 배열을 해석하는 것이 문제의 핵심인 거 같습니다.

 

 

2. Base64 디코딩

문자열 뒤에 ==가 있는 걸로 보아 Base64로 인코딩 된 문자열인 것을 알 수 있습니다.

Base64에 대한 설명은 다음 링크를 확인해주세요. : https://poci.tistory.com/56

 

Base64 인코딩

1. Base64 인코딩이란?? Base 64은 64진법이라는 뜻입니다. 64는 2의 6 제곱(2^6)으로, 2의 제곱수 중 화면에 표시되는 ASCII 문자들의 개수입니다. 0부터 63까지 각각 문자를 지정해준 후, 그에 맞게 문자를 치환..

poci.tistory.com

http://www.taeyo.pe.kr/base64.htm에서 문자열을 Base64로 디코딩합시다.

디코딩한 결과를 Password에 넣어도 풀리지 않습니다.

 

한번 더 디코딩을 하니 이상한 문자가 나옵니다.

아마 c4033bff94b567a190e33faa551f411caef444f2는 다른 기법으로 암호화되어 있는 거 같습니다.

대중적으로 사용되는 암호 함수는 해쉬 함수이므로, 해쉬 함수로 암호화되었다고 가정해보았습니다.

 

c4033bff94b567a190e33faa551f411caef444f2의 글자 수를 세보시면 40글자, 즉 40바이트입니다.

그리고 문자열이 숫자와 a, b, c, d, e, f만 있는 걸로 보아 16진수인걸 추측할 수 있습니다.

 

출처 : 위키백과

따라서 위 해쉬 함수 중 출력 비트 수가 40*4=160비트인 SHA-0, SHA-1로 암호화되었다고 추측할 수 있습니다.

 

 

3. SHA-1 복호화

https://hashkiller.co.uk/Cracker/SHA1에서 SHA-1 함수로 복호화시켜보겠습니다.

 

아래 결과를 보시면 sha1(sha1($pass))라고 쓰여있는 걸 보아서 SHA-1로 두 번 암호화되어있었나 봅니다.

 

복호화한 값을 Password에 입력하면 Clear 메시지가 뜹니다.

 

 


이번 강의는 여기까지입니다.

 

4번 문제는 암호화된 문자열을 복호화할 수 있는지를 물어보는 문제였습니다.

 

오늘도 수고하셨습니다.

파이팅


정리

- 주어진 문자열을 Base64로 디코딩을 한다.

- 디코딩한 문자열을 SHA-1 함수로 복호화한다.


강의가 유익하셨거나 마음에 드셨으면 댓글과 좋아요 부탁드립니다.

궁금하신 점이나 질문은 댓글이나 메일 남겨주세요.

poci5003@gmail.com

 

반응형