- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pwnable
- bitcoin
- Leak
- Ethereum
- 해킹
- hacking
- lending
- 블록체인
- DreamHack
- 리눅스
- compound
- BANDiT
- shellcode
- blockchain
- solidity
- web3
- V2
- wargame
- 코인
- PWN
- pow
- 이더리움
- defi
- security
- overthewire
- Crypto
- 비트코인
- 해시
- Linux
- 반딧
목록반딧 (12)
Nullorm
이번에는 base64로 인코딩된 password가 data.txt 안에 들어있다고 한다. base64 -d 옵션을 통해 decode 했다. 그런데, base64암호를 사용해본적은 있는데 이게 어떤 암호(인코딩 방식)인지 궁금해져서 좀 알아보기로 해보았다. https://nullorm.tistory.com/23 인코딩 & 디코딩 | Base64에 대하여... 인코딩(encoding)과 디코딩(decoding) 파일에 저장된 정보의 형태나 형식을 변환하는 처리 / 처리방식을 말함. 이메일, 문자메시지 등의 전송, 동영상이나 이미지 영역에서 많이 사용됨. 인코딩의 반 nullorm.tistory.com 끗!
이번에는 data.txt 파일에 있는 몇몇 human-readable 문자열 중 하나이며, 몇개의 '='문자와 같이 등장한다고 한다. $ strings 명령어 : 파일 내의 ASCII text로 이루어진 문자열을 추출(?) 이렇게 해보았다. 비밀번호 찾았당 ^^ ㅎ
이번에는 data.txt 안에 존재하는 문자열 중 오직 한 번만 등장하는 문자열이 정답이라고 하는 것 같다. sort 명령어와 uniq 명령어를 사용해보았다. sort 명령어는 문자열을 오름차순으로 정렬해주는 명령어 sort [파일명] uniq 명령어는 정렬된 문자열에서 중복되는 문자열들을 없애주는 역할을 한다.) uniq -u 옵션 : 중복되지 않은 녀석들 제거 정답 !! ^^
이번에는 data.txt 라는 파일 속에 millionth옆에 비밀번호가 있다고 한다. 이럴 때 당장 생각나는건 우선 grep 명령어를 통해서 millionth 가 포함된 문장을 찾는 것을 생각해보았다. 어라... 간단하게 해결되었다. % grep 사용법 추출된 문자열에서 특수한 문자 또는 문자열이 포함된 행을 찾는 명령어이다. grep "문자열"을 통해 찾아낼 수 있다. 끗
이번에는 무슨 서버 어딘가에 있다고 하고 bandit7이라는 유저의 소유, bandit6 그룹에 속해있고, 33 byte라고 한다. 이번에도 find 명령어를 사용해볼 수 있을 것 같다. 그런데... 애초에 홈디렉토리에 아무것도 존재하지 않는다.. 그런데 문제의 발문을 다시한번 살펴보면 홈디렉토리가 아닌 "서버 어딘가" 에 있다고 했으니깐 루트 디렉토리에서 살펴보면 되지 않을까 싶다. find 명령어를 이용해서 user, group, size 옵션을 이용해서 찾아봤는데도 뭐가 엄청 많이 나온다. 이렇게 해서는 뭘 찾기가 힘들어보인다. 우선 해결방법이다. 이렇게 하면 permission denied가 뜬 행들을 다 지워버리고 우리가 찾는 결과만 남길 수 있는데, 설명 2>/dev/null 1. 파일 디스크..
inhere directory에 있고, ascii text에 1033byte, 실행가능하지 않은 파일이라고 한다. 뭔가 조건이 까다로워보인다. 이럴 때 사용하는 find 명령어. find 명령어에서 -size 옵션을 이용하면 파일의 크기를 알 수 있다. 1033 뒤에 붙은 c는 byte단위로 찾으라는 뜻. b : 블록단위 c : byte k : kbyte w : 2byte 워드 라는 단위이다. 이렇게 하면 파일이 한개 나오는데, 이게 정답이다. 끗
이번에는 inhere 디렉토리에 있는 human-readable 파일 안에 비밀번호가 있다고 한다. 이게 무슨말일까 일단 가보자. 흠 파일이 엄청 여러개가 있다. file 명령어를 이용하면 파일의 속성을 이용할 수 있다. "*" 기호는 모든 파일을 지칭한다. 여기에서 ./-*라고 한 것은 "-"로 시작하는 모든 파일의 속성을 보여달라는 말로 이해할 수 있을 것이다, 명령어 실행 결과를 보면 -file07이 ASCII text인 것을 알 수 있다. 문제에서 human-readable file이라고 했고, ascii text는 우리가 읽을 수 있으므로 저 파일이 정답일것이다. 찾았당 ㅎ
inhere라는 디렉토리 안에 password가 숨겨져 있다고 한다. cd 명령어를 이용해서 간단하게 해결할 수 있다. cd : change directory cd [디렉토리명] 을 하면, 디렉토리를 이동할 수 있다. inhere 디렉토리로 이동해서 ls를 이용해 뭐가 있나 봤는데, 아무것도 없다. 그런데 문제에서 hidden file이라고 했으니, 숨겨진 파일을 찾아야 한다. ls 명령어의 a 옵션을 이용하면 숨겨진 파일이나 디렉토리까지 모두 볼 수 있다. .hiddden이라는 이름의 파일이 보인다. 열어보면 답이 나온다.
다음 레벨을 위한 패스워드는 spaces in this filename이라는 파일 안에 담겨져 있다고 한다. 어? 굉장히 이지 하구만.. 하면서 cat으로 실행해보면 각각의 단어로 이루어진 파일들이 존재하지 않는다고 한다. cat 명령어는 공백을 기준으로 서로 다른 파일이라고 인식하기 때문에 이런 경우 각각, spaces, in, this, filename 이라는 각기 다른 이름의 파일로 인식하여 실행을 시도한다. 따라서 이를 해결하려면 공백을 무시할 수 있도록 해야한다, 두 가지 해결 방법이 존재하는데,(더 있을 수도 있음...) 1. 따옴표로 묶기 2. '\' 기호 사용하기 이렇게 하면 공백을 같이 볼 수 있다. 성공``~
이번에는 '-'라고 하는 파일 안에 비밀번호가 숨겨져있다. 역시 파일이 보인다. 그런데 cat을 이용해 까볼랬는데, 응답이 없다. 왜냐면 '-'로 시작하는 파일은 바로 열 수가 없기 때문이다. 따라서 요렇게 해주어야 한다. 참고로, 리눅스 터미널에서 '.'(점)은 참 요긴하게 쓰인다. 점이 한개 쓰이면 현재 디렉토리, 두 개 쓰이면 이전 디렉토리 라는 뜻이다. 일단 알아만 두자. 다음레벨 렛츠고~