Bandit 14

22.01.23 level 11→12. tr 'A-Za-z' 'N-ZA-Mn-za-m'

cat data.txt 이게 뭐신고? 문제에 나와있는 힌트 문서를 읽어보니 알파벳 26글자를 반으로 나눠서 13개씩 반대로 rotated한 것이었다. 참고문서에 따르면 tr 명령어를 사용해서 문자열 변환을 할 수 있었다. Gur을 보고 아 tr 명령어를 써서 이것도 13씩 로테이션되는거를 바꿔야 하는구나 깨달았다. cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' A로 시작해서 Z로 끝나는 알파벳 순서와는 다르게 N부터 시작해서 Z로 끝나고 다시 A부터 M까지 끝나는 순서로 rotated를 바꿔버리겠다 라는 뜻이다. 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu 굿 참고문서링크 https://en.wikipedia.org/wiki/ROT13#tr ROT13 - Wik..

Bandit 2022.01.23

22.01.23 level 10 → 11. base64 -d [디코딩할 내용]

루트 폴더에서 data.txt 를 호출해보니 아래와 같은 키가 출력됐다. cat data.txt 비번 키의 데이터 길이보다 더 길어서 base64 로 인코딩된 키라고 하니까 이것을 다시 base64로 디코딩해야겠다는 생각이 들었다. 맨 마지막에 "=="이라고 된 것이 base64로 인코딩되었다는 의미이다! 명령어 옵션을 선택하지 않았는데 이것은 data.txt를 base64로 한번 더 인코딩한 것이었다. base64 data.txt 인코딩 문자를 디코딩하기 위해서는 base64 -d data.txt IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR 굿 참고문서링크 https://originalchoi.tistory.com/entry/base64-%EB%AA%85%EB%A0%B9%EC%96%B4?..

Bandit 2022.01.23

22.01.16 level 9 → 10. strings [찾아볼 파일]

일단 data.txt의 파일 종류를 확인해보니 data파일이었다. file data.txt 여기서 바로 =있는 부분을 찾아보려고 했더니 쉽지 않았다. 힌트 명령어 중 strings를 써보았다. strings는 사람이 읽을 수 있는 문자열만 추출하여 출력한다. strings data.txt 나오긴 나왔는데 흠 뭔가 마음에 안든다. strings data.txt | grep "=" strings data.txt | grep "==" 두번 더 정제해서 찾아냈다. 굿 truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk 참고문서링크 https://zidarn87.tistory.com/180 리눅스 명령어 / strings 명령어 - 문자열만 추출하여 출력하기 리눅스 명령어 / strings 명령어 - 문자..

Bandit 2022.01.16

22.01.16. level 8 → 9. 중복제거 sort [찾아볼 파일] | uniq -u

the only line of text that occurs only once 라고 하니 중복되는 애들을 없애면 뭔가 키가 나타나겠다싶어서 uniq로 중복되는 애들이 있는지부터 일단 검사를 했다. //중복 내용 출력 uniq -D data.txt 중복되는 애들이 몇개 있었다. 앗 근데 중복되지 않는 명령어는 uniq -u로 하면 완전 많이 나와서 sort와 같이 써야 했다. 근데 -u를 붙이고 안붙이고의 차이가 있었다. sort data.txt | uniq 를 하게 되면 data.txt에서 중복되는 애들은 한번만 출력하고 전체 출력이 되고 sort data.txt | uniq -u 를 하게 되면 data.txt에서 중복되는 애들은 제거하고 유일한 애들만 전체 출력한다. 굿 UsvVyFSfZZWbi6wgC..

Bandit 2022.01.16

22.01.16 level 6 → 7. find -user -group

1. 파일 사이즈가 33c인 파일을 찾아보았다. find / -size 33c 근데 결과가 너무 많이 나오고 파일 검색 결과 중 Permission Denied 인 파일도 나와서 이것을 없애는 옵션은 2> /dev/null find / -size 33c 2> /dev/null 1. 소유자가 bandit7인 파일을 찾아보았다. find / -user [소유자명] -print 여러 파일들이 나왔다. 2. 따로 따로 찾다가 안되겠어서 명령어 하나에 옵션으로 다 넣어버리기로 했다. //1. 파일 크기 2. 소유자명 3. 소유그룹명 find / -size 33c -user bandit7 -group bandit6 아 이게 아니라 permission denied 나온거 빼야 해 find / -size 33c -us..

Bandit 2022.01.16

22.01.14 level 5 → 6. file ./* -size #c

전 단계와 마찬가지로 inhere 디렉토리에 들어와서 모든 파일을 보았더니 maybehere로 시작하는 디렉토리가 20개나 있었다. maybehere 약올리나~! 이번에는 cat 명령어로 일일이 출력할 수 없다는 생각이 들었다. 그래서 터미널에서 쓸 수 있는 반복문인 for ~ in 문을 사용해보기로 했다. 근데 명령어를 사용하려고 했더니 파일의 종류가 다 달라서 반복문을 쓰는 것이 소용없었다. 문제에서 조건이 1033바이트 크기라는 것을 생각하면 1033바이트 크기의 파일을 찾아라라는 file 명령어 옵션 -size 를 이용하기로 했다. //현재 디렉토리 하위의 파일들 중에서 1033바이트의 크기를 가진 파일을 찾는다. find ./* -size 1033c 오케이 파일의 크기가 주어진 이유는 파일 속 ..

Bandit 2022.01.16

22.01.14 level 4 → 5. file ./-file07

inhere이 파일인지 디렉토리인지 확인하고 inhere로 이동 cd inhere 일단 어떤 파일이 있는지 보고 ls -al 파일이 10개가 있었다. -file00을 cat으로 출력했을 때, 엄청 이상한 문자가 나왔다. 그래서 file 명령어로 10개 파일을 검사해봐야겠다고 생각이 들었다. 10개 파일 검사한 결과 7번이 이상해서 출력해보니 키가 나왔다. koReBOKuIDDepwhWk7jZC0RTdopnAYKh

Bandit 2022.01.14

22.01.11 level 2 → 3. spaces in this filename

ls -a 위 명령어를 실행했을 때는 파일명이 끝까지 안나왔는데 아래 명령어로 파일을 찾았다. ls -al 풀네임은 spaces in this filename cat 으로 그냥 호출하는 것도 안됐다. bandit 힌트로 파일명에 공백이 있는 경우 호출하는 방법을 통해 키를 얻었다. cat 'spaces in this filename' 참고문서링크 https://linoxide.com/how-to-read-filename-with-spaces-in-linux/ How to Read a Filename with Spaces in Linux This tutorial shows how to manage filename with spaces in a Linux system. This cover to create,..

Bandit 2022.01.11