포맷스트링 버그 2차시입니다 ㅎㅎ 저번시간에는 포맷스트링버그의 기본적인 원리를 알아보았습니다. 이번에는 포맷스트링으로 메모리값을 변조하는 법을 알아보겠습니다. 바이너리 파일 하나를 한번 볼까요? #include #include void shell(); int main() { char buf[100]; int len; read(0, buf, 100); printf(buf); exit(0); } void shell() { system("/bin/sh"); } Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) 이 프로그램은 BOF로 Exploit 하는것이 불가능합니다. 그러니..