RTL

Return to Library 문제 풀이1. 취약점 확인1. C 언어checksec 명령어로 취약점을 확인해보자[*] '/home/gunp4ng/pwnable/Dreamhack/rtl/rtl' Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x400000)x64 아키텍처에 Partial RELRO, Nx-bit, Stack Canary 가 적용된 것을 알 수 있다. C 코드를 확인해보자// Name: rtl.c// Compile: gcc -o rtl rtl.c -fno-PIE -no-pie#include #include co..
RTL 1. RTL (Return to Library)1. RTL 이란?Nx-bit 보호 기법이 적용되면 code 영역을 제외한 영역에 실행 권한이 부여되지 않는다.즉, 스택에 실행 권한이 부여되지 않는다.그렇기 때문에 스택에 shellcode 를 넣고 RET 에 덮어씌워도 실행 권한이 없어 shellcode 가 실행되지 않는다.이를 우회하기 위한 기법이 Return to Library 이다. 프로세스에 실행 권한이 있는 메모리 영역은 바이너리의 코드 영역과 라이브러리의 코드 영역이다.우리가 사용하는 함수들은 (ex. printf) 모두 라이브러리에 들어있다.RTL 은 RET 에 라이브러리 함수를 덮어씌워 실행되도록 하는 공격 기법이다. 2. 함수 호출 과정 (x86)1. callme 호출 전// Nam..
GunP4ng
'RTL' 태그의 글 목록