본문 바로가기
728x90

Pwnable30

[Bandit Level 12 - > 13] 여러번 압축된 파일 풀어주기 Hex dump로 되어있는 파일.. 그리고 여러번 압축된 파일. 지금 우리가 위치한 곳엔 (home 디렉터린가?) 파일을 변경할 수 있는 그런 권한이 없기 때문에 tmp 디렉터리 밑에 myname123 같은 폴더를 만들어서 여기에 datafile을 copy하고 사용하면 된다. /tmp/myname123 이라는 파일에 복사해주고, hexdata.txt라는 이름으로 지정해주었다. hex dump는 컴퓨터 데이터를 16진법으로 표현한 것. xxd 명령어가 어떤 바이너리 파일을 hex로 표현하는 것인데, -r은 그 반대를 보여준다. file 명령어로 이 파일의 형식?을 알아봤다. 아스키 코드로 되어있다. -r로 hex를 바이너리로 변환해주었다. 다시 파일을 읽어보니 gzip으로 묶여있다고 한다. 처음 여러 파일.. 2021. 6. 9.
[Bandit Level 11 -> 12] Rot13 data.txt 파일 내에 있는 내용을 읽으면 되는데,, Rot13을 활용하란다. Rot13이란? -> 카이사르 암호의 일종, 영어 알파벳을 13 글자씩 밀어서 만든다. 일단 cat data.txt로 파일을 읽어봤다. 뭔가 띄어쓰기가 되어있는걸 보니 치환 암호라는 것을 대충 짐작할 수 있다. ROT13을 쳐보니까 리눅스에서 tr 명령어를 많이 사용하길래 한 번 사용해보았다. tr => translate의 약자. 문자를 다른 문자로 치환하거나 제거함. 위키에 대놓고 설명이 써있다. N-Z A-M이라는 걸 N부터 ~ Z까지를 A~M으로 치환해주라는 말인 것 같다.... cat data.txt | tr '[a-z]' '[A-Z]' 대충 활용하면 이런 느낌 근데 뭐 이렇게 해봐도 저렇게 해봐도 풀리지가 않는다... 2021. 6. 9.
[Bandit Level 10 -> 11] base64 디코딩하기 이번 문제는 base64로 인코딩된 파일을 디코딩하는 것이다. base64를 사용하는건 예전에 수업시간에 활용해본 적이 있어서 크게 어렵진 않았다. cat 명령어로 파일을 읽어보면 다음과 같이 암호화되어있는 것을 확인할 수 있다. base64 : 8비트 이진 데이터를 아스키 문자로 바꾸는 것 옵션 인코딩 -i 디코딩 -d 이거만 알면됨! 으하하 2021. 6. 9.
[Bandit Level 9 -> 10] 특정 반복되는 문자 '=' 옆에 있는 비밀번호 찾아내기 이번에도 data.txt 파일에 비밀번호가 있다. 사람이 읽을 수 있는 문자열이면서 여러개의 '=' 등호가 앞에 붙어 있는 값이라고 함. 문제 유형이 신선했다 (?) 🤣 일단 cat 명령어로 data.txt 파일을 읽어보았다. 알 수 없는 기호들만 잔뜩 나열되어 있다! (사실 쭉 내리다가 중간에 비밀번호 발견했는데 흐린눈 함) 앞에 "===.." 이런식으로 등호가 여러개 있다고 했으니까.. 여기서 우리가 사용할 수 있는 명령어는 strings이다. 바로 문자열을 추출해주는 것! 사실 strings data.txt 라고만 쳐도 비밀번호가 나오긴 한다. 사실 아무 생각없이 grep 명령어 사용해서 같이 써줬는데 답이 나왔다.. 참고로 strings를 쓰지 않으면 에러가 나는데 이 파일이 Binary file.. 2021. 6. 9.
728x90