profile image

L o a d i n g . . .

Published 2021. 4. 10. 01:48

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
복사했습니다!