일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Reconnaissance
- THM
- FTZ
- 파일 업로드 취약점
- Server Side Request Forgery
- privilege escalation
- OS Command Injection
- over the wire
- SQLi
- file upload
- php 파일 업로드하기
- Cookie
- php login page
- php 로그인 페이지 만들기
- BANDiT
- php
- Recon
- sql injection
- active reconnaissance
- ssrf
- Authentication
- active recon
- Cryptography
- php file upload
- overthewire
- War Game
- access control
- php To Do List
- Leviathan
- tryhackme
Archives
- Today
- Total
R's Hacking Daily Log
Leviathan4 -> Leviathan5 본문
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/
'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