NX로 공격자가 직접 쉘 코드를 실행하는 것은 어려워졌지만, 스택 버퍼 오버플로우 취약점으로 반환주소를 덮는건 가능했다. // 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: "); rea..