오리지날초이 2021. 8. 28. 19:12

리눅스에서도 문자열 인코딩을 위한 base64 명령어 자체를 지원합니다.

--help 를 붙여 사용법을 살펴보니 간단하게 [해당명령어] [파일명] 정도면 될 것 같네요

 

 

base64 방식으로 인코딩된  data.txt 파일을 살펴보겠습니다.

 

특정 패턴의 암호문 처럼 보이는데

길이가 70 글자 내외, 문자열의 마지막이 == 으로 끝나는 것을 봐선 base64 인코딩이 맞네요

 

base64 data.txt 로 인코딩된 텍스트가 들어있는 data.txt 를 한번 더 인코딩 해봅시다.

알 수 없는 문자열이 더 길어졌습니다.

 

이건 문제를 해결한게 아니라, base64 문자를 한번 더 base64 방식으로 인코딩 한 겁니다.

 

문제를 풀기위해서는 디코딩을 해야겠죠?

위의 사용법을 참고해서 -d 옵션을 붙여봅시다.

 

11 단계로의 패스워드를 획득했습니다.

 

 


 

파일이 아니라 사용자 입력 문자열을 base64 인코딩 하고 싶다면 아래와 같은 방식으로 이용해야 합니다.

 

1. base64 기본 명령어로 이용하기(base64 또는 base64 - 로 사용 가능)

원하는 문자열을 입력한 후 <enter>, ctrl + d 로 종료한다

 

2. echo 와 | (pipe) 연계해서 활용하기

 

디코딩도 -d 옵션을 붙여 같은 방식으로 하면 됩니다.

 

bandit 가 궁금하면 소개글을 한번 살펴보세요

 

인코딩이 무엇인지 더 알고 싶으면 인코딩 설명글을 참고하세요

base64 인코딩 방식에 대한 설명은 base64 인코딩 설명글을 참고하세요

728x90
반응형