#include<stdio.h> void shell(){ system("/bin/sh"); } int main(int argc, char *argv[]){ char buf[40]; read(0,buf,400); return 0; }
일단은 처음이니까 다음같은 간단한 코드를 AEG 로 풀어보자.
이러한 코드를 돌리면
| BUF | SFP | RET |
모양의 스택에서 BUF ~ RET 까지가 심볼릭한지를 체크하고, 심볼릭하다면, RET == shell_addr 이 되는 경우를 return 하는데, 이경우가 결국 payload 가 되어서 exploit 이 되는 것이다.
'Analysis' 카테고리의 다른 글
Pwntools 기본적인 사용법 - 4 (0) | 2018.04.06 |
---|---|
Arm 아키텍쳐 (0) | 2018.01.06 |
HTTP 프로토콜 구조 (0) | 2017.12.11 |
syscall 을 이용한 rop (3) | 2017.11.06 |
Pwntools 기본적인 사용법 - 3 (1) | 2017.10.20 |