여러분 안녕하세요. POCI입니다.
이번 시간에는 Webhacking.kr의 4번 문제를 풀어보도록 하겠습니다.
1. 사이트 둘러보기
4번 문제에 들어가면 이상한 문자 배열 하나와 무언가를 입력할 수 있는 란이 나옵니다.
아마도 이 배열을 해석하는 것이 문제의 핵심인 거 같습니다.
2. Base64 디코딩
문자열 뒤에 ==가 있는 걸로 보아 Base64로 인코딩 된 문자열인 것을 알 수 있습니다.
Base64에 대한 설명은 다음 링크를 확인해주세요. : https://poci.tistory.com/56
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 함수로 복호화한다.
강의가 유익하셨거나 마음에 드셨으면 댓글과 좋아요 부탁드립니다.
궁금하신 점이나 질문은 댓글이나 메일 남겨주세요.
'Write Up > webhacking.kr' 카테고리의 다른 글
Webhacking.kr 문제풀이_Part7_6번 문제 (0) | 2019.07.04 |
---|---|
Webhacking.kr 문제풀이_Part6_5번 문제 (0) | 2019.07.04 |
Webhacking.kr 문제풀이_Part4_3번 문제 (2) | 2019.06.26 |
Webhacking.kr 문제풀이_Part3_2번 문제 (0) | 2019.06.24 |
Webhacking.kr 문제풀이_Part2_1번 문제 (0) | 2019.06.16 |