티스토리 뷰

수업 노트/bandit

[lesson8] bandit level 8 → 9

오리지날초이 2021. 8. 22. 13:44

id : bandit8

password : TESKZC0XvTetK0S9xNwm25STk5iWrBvP

(2023. 3월 기준)

패스워드가 data.txt 파일에 들어있는데 딱 한번만 발생하는 라인에 있다고 합니다.

무슨 말인지 살펴봅시다.

 

패스워드 암호문 앞에 딱히 힌트는 없습니다만,

문제 가이드를 보니 저 암호문들이 여러번 중복되서 나올 것 같습니다.

 

이번엔 sort 와 uniq 명령어를 다룰 수 있어야 합니다.

더보기

sort data.txt 를 실행하면 data.txt 의 내용이 순서대로 정렬됩니다.

실제 파일내용이 수정되는 것은 아니고, 화면출력만 정렬되어서 나옵니다.

sort data.txt 로 출력하면 캡쳐화면에 담기가 까다로워서
sort data.txt 옆에 | less 를 붙였습니다.
 
| (파이프) 를 사용하면 명령어를 연계해서 사용할 수 있습니다.
sort data.txt 의 결과를 다시한번 더 less 하라는 의미입니다.
앞으로 | (파이프) 기호를 이용한 명령어 연계를 더 자주 사용하게 될 것 같습니다.

 

less 상태에서는 vim 처럼 화살표로 문서 위아래로 이동할 수 있습니다. q를 누르면 빠져나갈 수 있습니다.

 

uniq 를 이용하면 중복을 제거하고 유일한 내용만 출력할 수도 있습니다.

단 sort 되어있지 않고 그냥 uniq [파일명]을 이용하면 제대로 집계가 안됩니다.

 

sort 를 먼저 시키고 정렬이 된 상태에서 uniq 를 작동시키면 효과가 있습니다.

sort 와 uniq 를 연결해서 사용하려면 아까처럼 | 를 이용해야합니다.

 

man 또는 help 를 이용해서 uniq 사용법은 따로 살펴보세요

 

sort data.txt 결과에 uniq -c 를 붙이면 중복된 횟수가 표기됩니다.

중간에 중복횟수 1회인 패스워드를 찾았습니다.

같은 맥락으로 uniq -u 를 사용하면 고유한 값만 출력해줍니다.

사실상 중복횟수가 1인 값만 출력해주는 옵션입니다.

 

다시한번 주의할 점은 sort 되지 않은 상태에서 uniq 를 사용하면 

제대로 중복값 제거가 동작하지 않는다는 점입니다.

 

sort 와 uniq 는 세트로 익혀두도록 합니다.

 

728x90
반응형

'수업 노트 > bandit' 카테고리의 다른 글

[lesson10] bandit level 10 → 11  (0) 2021.08.28
[lesson9] bandit level 9 → 10  (0) 2021.08.28
[lesson7] bandit level 7 → 8  (0) 2021.08.22
[lesson6] bandit level 6 → 7  (1) 2021.08.22
[lesson5] bandit level 5 → 6  (1) 2021.08.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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 31
글 보관함