리눅스/bandit
[bandit]bandit8 -> bandit9
해공학(해킹을 공부하는 학생)
2023. 5. 5. 21:40
Overthewire 페이지를 해석해보겠습니다.
"다음 것들 중에서 한번만 반복되는 글자가 비밀번호야"라고 말하고있습니다.
즉 아주많은 텍스트중, 반복되는 않은 글자가 비밀번호이다 라고 말할수있습니다.
우선 상황 파악을 하겠습니다. ls -l을 통해 파일이 있는지, 파일이 크기가 얼마나 되는지 알아보겠습니다.
bandit8@bandit:~$ ls -l
total 36
-rw-r----- 1 bandit9 bandit8 33033 Apr 23 18:04 data.txt
이런식으로 33033으로 엄청나게 큰 파일입니다. 그럼 more 명령어를 통해 한번 보겠습니다.
bandit8@bandit:~$ more data.txt
QWiiBJhqUoMj0lCD9XNrkTM1M94eIPMV
UkKkkIJoUVJG6Zd1TDfEkBdPJptq2Sn7
ITQY9WLlsn3q168qH29wYMLQjgPH9lNP
JddNHIO2SAqKPHrrCcL7yTzArusoNwrt
0dEKX1sDwYtc4vyjrKpGu30ecWBsDDa9
yvtL2C3x6iw7XOluSnoS1avXFUCsRSfg
QbKQeOYoUQULmEFOvagIzwC3EF2Gmu1S
[more : 0%]
엄청나게 큰 파일이네요;; 이런거중 중복을 없는 텍스트를 찾아야 합니다.
하나하나 수동적으로 찾을수는 없으니, 중복을 찾아내고, 제어해주는 명령어를 알아보겠습니다.
uniq
중복된 내용이 있으면 하나의 행으로 보여주는 명령어 이다.
sort명령어와 자주 같이 쓰인다.
사용법은 unip [옵션] [파일명] 이런식으로 쓴다. 자주 사용하는 옵션은 다음과 같다.
옵션 | -c | -i | -d |
쓰이는것 | 텍스트 앞에 중복된만큼 숫자를쓴다. |
대소문자 구별없이 중복을 없앤다. |
중복된 행만 출력한다 |
uniq 명령어(자세하게) => (아직 못만듬)
sort
sort 명령어는 파일의 내용을 정렬할때랑 합칠때 사용한다.
uniq명령어와 자주 같이 쓰인다.
사용법은 sort [옵션] [파일명] 식으로 쓰인다. 자주 사용하는 옵션들 이다.
옵션 | -r | -k [숫자] *어렵습니다* | -u | -f |
쓰이는것 | 역순으로 정렬한다 | 만약 글자가 27이면 k 뒤에 숫자가 2이면 7이 기준이 되어서 한다. | 중복된 행을 삭제한다 | 대소문자 구별없이 정렬한다. |
sort 명령어 (자세하게) => (아직 못만듬)
이런식으로 uniq명령어와 sort명령어를 사용해 보겠습니다.
bandit8@bandit:~$ cat data.txt | sort | uniq -c
10 08Jd2vmb6FjR4zXPteGHhpJm8A0OOA5B
10 0dEKX1sDwYtc4vyjrKpGu30ecWBsDDa9
10 0YDTDPCLc585IaFu911ukE9QfD6Ykrlz
10 0zP9wfUcMKjZM2hiQUYR1nTfmaRdYSQE
이런식으로 다 10이 나오네요. 근데 밑으로 내려보니 1로만 표시된게 있습니다.
이게 바로 비밀번호 이겠네요
비밀번호 : EN632PlfYiZbn3PhVK3XOGSlNInNE00t