
cat /proc/sys/kernel/randomize_va_space
리눅스에서 위 명령을 통해 ASLR 보호기법에 작동 유무를 파악할 수 있다.
** ASLR 보호기법은 커널에서 이루어지는 보호기법이다.

// Name: addr.c
// Compile: gcc addr.c -o addr -ldl -no-pie -fno-PIE
#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
char buf_stack[0x10]; // 스택 버퍼
char *buf_heap = (char *)malloc(0x10); // 힙 버퍼
printf("buf_stack addr: %p\\n", buf_stack);
printf("buf_heap addr: %p\\n", buf_heap);
printf("libc_base addr: %p\\n",
*(void **)dlopen("libc.so.6", RTLD_LAZY)); // 라이브러리 주소
printf("printf addr: %p\\n",
dlsym(dlopen("libc.so.6", RTLD_LAZY),
"printf")); // 라이브러리 함수의 주소
printf("main addr: %p\\n", main); // 코드 영역의 함수 주소
}