R's Hacking Daily Log

Leviathan4 -> Leviathan5 본문

OverTheWire/Leviathan

Leviathan4 -> Leviathan5

hanhxx 2023. 1. 7. 08:58
Connection : ssh leviathan4@leviathan.labs.overthewire.org -p 2223
username : leviathan4

 

Kali linux - Terminal ] 

현재 경로에서 처음 보는 .trash directory가 보인다. 

이런 건 망설임없이 들어가 본다~

 

 

들어가 보니 bin이라는 이름의 파일이 있다. 

실행시켜보니 binary 문자열이 주르륵 나왔는데

음. 그 밖에 별 다른 건 없어 보인다. 

그냥 저 binary 문자열이 비밀번호인 거 같은데, 형태만 조금 바꿔보자.

 

 

python으로 코드를 이리저리 짜주면 

...

ascii code 형태로 password를 얻을 수 있다. 

 

 

 


 

 

<python code>

binary_int = int("010001~", 2)

number = binary_int.bit_length() + 7 // 8

array = binary_int.to_bytes(number, "big")

asciitext = array.decode()

print(asciitext)

int("ASCII로 바꿀 binary 문자열", 2)  =  두번째 parameter "2"는 이진(0 or 1)으로 나타낸 문자열임을 의미.

 

number = bit를 byte단위로 구하기 위해 계산하는 과정

 

array = number로 구한 byte길이만큼 array를 얻는 과정

 

asciitext = array의 내용을 ascii code로 변환.

 

print() = ascii code로 바꾼 내용을 출력.

 

 

ascii code는 binary로 나타낼 때, 한 문자가 8bit(=1 byte) 길이를 갖는다.

그렇다 보니 bit length를 8로 나눴을 때의 값이 byte길이를 나타내는 것을 알 수 있다. 

(byte 길이를 소수점으로 나타내지 않기 때문에 " // "연산으로 소수점은 무시한다.)

 

 

https://www.geeksforgeeks.org/python-program-to-convert-binary-to-ascii/

 

Python program to convert binary to ASCII - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

'OverTheWire > Leviathan' 카테고리의 다른 글

Leviathan6 -> Leviathan7  (0) 2023.01.07
Leviathan5 -> Leviathan6  (0) 2023.01.07
Leviathan3 -> Leviathan4  (0) 2023.01.06
Leviathan2 -> Leviathan3  (0) 2023.01.06
Leviathan1 -> Leviathan2  (0) 2023.01.05
Comments