* 전에 정리해놓은것들 한꺼번에 올림.
data.txt 파일 내에 오직 한 줄만? 있는 내용이 있다.
도움되는 자료는 Piping and Redirection.. 여기서 참고해도 되는데 sort, uniq 사용법만 알아도 충분히 풀 수 있다.
파이프는 아마 grep 명령어에서 자주 사용되는 | 이 기호를 말하는 것 같다.
cat data.txt | grep word
이런식으로 쓰이는데, data.txt에 있는 내용중에 word라는 문자열이 들어가면 출력해주는 것이다.
근데 이것만 보면 해결이 안되니까 가장 중요한 명령어 sort와 uniq의 정의를 알아보자.
sort 명령어는 말 그대로 정렬을 해주는 명령언데, 디폴트 값은 오름차 순으로 정렬하도록 되어있다.
내림차로 정리하려면 -r 명령어를 사용하면 된다.
uniq 명령어는 중복되는 내용이 있으면 하나만 남기고 모두 제거해서 출력한다. 그런데 그 중복된 내용 행이 서로 붙어있을 때만 인식이 가능하고, 분산되어 있을 땐 모르기 때문에 sort랑 같이 쓰일 때가 많다고 한다. (sort로 정렬 후 중복되는 내용 삭제) 설명만들으면 어려운데 직접 해보면 깔끔하게 잘 정리되어 나와서 굉장히 신기했다.
이 명령어들을 활용해보라고 했으니 일단 sort 명령어부터 사용해봤다.
sort data.txt
앞서 공부했던 것처럼 오름차순으로 정렬해주는데, 중복되는 내용이 여러개 출력되고 있는걸 확인할 수 있다.
그리고 uniq 명령어 중에서는 -c 옵션이 같은 라인이 몇 번 나오는지 보여준다고 하길래 sort로 먼저 정렬을 해주고, 그 다음 uniq -c까지 함께 적용해봤다.
같은 값들이 모두 10번씩 반복되고 있다는 것을 알 수 있다.
그 중에서 딱 한 줄만 출력되는 값이 있는데 바로 이 값이 비밀번호가 되는거다!!
만약 sort 정렬을 먼저 해주지 않고, uniq -c만 하게 되면
이렇게 모든 값들이 중복되는게 없는 것처럼 나온다.
위 아래로 붙어있는 경우에만 검사를 하기 때문!
sort를 꼭 먼저 사용해주기.
Level 8 클리어!
'Pwnable > Bandit' 카테고리의 다른 글
[Bandit Level 10 -> 11] base64 디코딩하기 (0) | 2021.06.09 |
---|---|
[Bandit Level 9 -> 10] 특정 반복되는 문자 '=' 옆에 있는 비밀번호 찾아내기 (0) | 2021.06.09 |
[Bandit Level 7 -> 8] grep 명령어 사용해서 특정 문자열 찾기 (0) | 2021.05.21 |
[Bandit Level 6 -> 7] owned by user, group (0) | 2021.05.21 |
[Bandit Level 5 -> 6] find 명령어로 파일 찾기 (0) | 2021.05.08 |
댓글