- 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 |
- web3
- 해시
- defi
- pow
- blockchain
- V2
- shellcode
- bitcoin
- solidity
- 이더리움
- pwnable
- compound
- Ethereum
- 반딧
- 블록체인
- 비트코인
- DreamHack
- Leak
- Linux
- Crypto
- 해킹
- 리눅스
- overthewire
- hacking
- lending
- PWN
- wargame
- security
- BANDiT
- 코인
목록wargame_writeup (15)
Nullorm
포린이의 첫 RTL문제 시도... 정답을 보면서 하면 당연히 실력이 늘지 않으니 몇시간동안 끙끙대면서 푸는게 참 힘든 것 같다. ㅜㅜ (문제 출처 : https://dreamhack.io/wargame/challenges/353/ ) Return to Library Description Exploit Tech: Return to Library에서 실습하는 문제입니다. dreamhack.io 일단 국룰 체크 먼저. 카나리, NX 보호기법이 사용되었다. 기본적으로 지금 풀고 있는 문제는 전부 bof 관련된 문제이므로, canary leak을 해주어야 할 것이고, NX로 인해 스택 영역에 실행권한이 없을 것이므로 쉘코드를 실행할 수 없을 것. 따라서 system("/bin/sh") 을 실행할 수 있도록 함수의..
포너블 공부 2일차. 여전히 카나리 릭, 파이썬과 싸우고 있다. 파이썬 문법, pwntools 모듈 등이 나에겐 너무 생소한지라 아직까진 어려운데 어쩌겠습니까... 해야죠 네 ... 이번 문제도 역시 Canary Leak을 이용해 풀어야 하는 문제이다. 문제를 한번 자세히 보도록 하자. (문제 출처 : https://dreamhack.io/wargame/challenges/33 ) ssp_001 Description 이 문제는 작동하고 있는 서비스(ssp_001)의 바이너리와 소스코드가 주어집니다. 프로그램의 취약점을 찾고 SSP 방어 기법을 우회하여 익스플로잇해 셸을 획득한 후, "flag" 파일을 읽으세 dreamhack.io 이 문제는 작동하고 있는 서비스(ssp_001)의 바이너리와 소스코드가 주..
하루만에 너무 많은걸 해버렸다... 갓 포너블 시작한 포린이에게는 빡센 것 같다. 바로 시작해보자. 이번 문제는 Return to Shellcode 라는 문제이다. (문제 출처 : https://dreamhack.io/wargame/challenges/352 ) Return to Shellcode Description Exploit Tech: Return to Shellcode에서 실습하는 문제입니다. dreamhack.io 제목에서도 알 수 있듯, Shell Code를 사용하는 문제이고, 이게 중요한 개념인가보다. (나의 경우에는 너무나도 중요했다 ...발...) 우선 먼저 짚고 넘어가야 할 점이 있다. 바로 Shell Code는 32비트와 64비트 환경에서 다르다는 것이다! 당연하지. 근데 나는 그걸..
첫 번째 문제가 재밌어서 바로 두 번째 문제를 풀러 왔다. 첫 문제보다 쉬운 것 같다. 그냥 read_flag() 함수를 호출할 수 있으면 될 것이다. (문제 출처 : https://dreamhack.io/wargame/challenges/3 ) 예전에 어딘가에서 듣기로 ASLR? 이라는 기법이 사용되면 프로그램을 실행할 때 마다 주소가 바뀌어 포너블하기 힘들어진다고 했는데, 그냥 여기서는 그런 기능 안되어있길 기도하면서 read_flag 함수 주소를 찾았던 것 같다. 일단 국룰 절차 먼저 밟아보자. 사실 보호기법은 봐도 잘 모른다. 그래도 일단 습관화 하면 좋을 것 같아서 밟는 절차... 하하 다음은 코드를 살펴보도록 하자. #include #include #include #include void al..
2학기 들어서 처음 풀어보는 Pwnable 문제!! 신나는 마음으로 접근해보았다. (문제 링크 : https://dreamhack.io/wargame/challenges/2)
이번에는 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는 우리가 읽을 수 있으므로 저 파일이 정답일것이다. 찾았당 ㅎ