64bit system 함수 segmentation fault 오류
·
To do list/Complete
system 함수로 익스플로잇 시 간혹 제대로 코드를 작성하였음에도 불구하고 segmentation fault 오류가 발생하는 경우가 있다. 1. 왜 그런지 알아보고 2. ret gadget 추가 시 왜 작동되는지 알아보자. 2022.07.19 당일 clear. 왜 그런지 알아보고 system 함수 내에 movaps 명령어가 있기 때문. movaps = mov aligned packed values이며 한번에 데이터를 다량으로 옮길때 사용되며 그 크기는 16 byte이다. 그래서 데이터들이 16byte로 묶을 수 있는가를 확인하기 때문이다. ret gadget 추가 시 왜 작동되는지 알아보자. movaps로 16 byte씩 묶인다고 가정했을때 seg. fault가 뜬다는 것은 8 byte의 남는 (또는 ..
Return to Library
·
Wargame/Dreamhack
// Name: rtl.c // Compile: gcc -o rtl rtl.c -fno-PIE -no-pie #include #include const char* binsh = "/bin/sh"; int main() { char buf[0x30]; setvbuf(stdin, 0, _IONBF, 0); setvbuf(stdout, 0, _IONBF, 0); // Add system function to plt's entry system("echo 'system@plt"); // Leak canary printf("[1] Leak Canary\n"); printf("Buf: "); read(0, buf, 0x100); printf("Buf: %s\n", buf); // Overwrite return addr..