1. 문제
#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>
#include <dlfcn.h>
void vuln(){
char buf[30] = "";
void (*read_addr)() = dlsym(RTLD_NEXT, "read");
printf("I'll give you some hint\n");
printf("read address : %p\n", read_addr);
read(0, buf, 90);
}
void main(){
printf("do you know RTL?\n");
vuln();
}
다음과 같이 빌드해줍니다.
gcc -m32 -fno-stack-protector -o problem problem.c -ldl
2. HINT
NX bit + ASLR이 적용된 상황에서 어떻게 RTL 기법을 사용할 수 있을까? (문제에서 주어지는 leak 되는 read () 주소를 잘 이용할 것!)
'Hacking > Pwnable' 카테고리의 다른 글
[P4C] Pwnable problem 1 - writeup (0) | 2021.04.10 |
---|---|
[P4C] Pwnable problem 2 - writeup (0) | 2021.04.10 |
[P4C] Pwnable problem 1 (0) | 2021.04.10 |
[Pwnable] python으로 인자 및 stdin 전달 (0) | 2021.04.01 |
[Pwnable] Lazenca - ROP(x64) 정리 (0) | 2021.03.30 |