Pwn/Stack-Based

Frame Faking - Fake EBP로 더 잘 알려진 이 기법은 가짜 스택 프레임 포인터를 만들어 프로그램의 실행 흐름을 제어하는 기법이다. - 일종의 스택 pivoting이라고 볼 수 있다. - return 주소 뒤로 더이상 덮어쓰지 못하여 일반적인 ROP나 RTL이 불가능할 때 사용할 수 있다. Leave & Ret Instruction - Frame Faking을 공부하기 전에 먼저 알야할 것이 Reave, Ret 명령의 동작과정이다. Leave - Leave 명령은 2개의 명령으로 나누어져 동작한다고 볼 수 있다. - 실제로 2개로 나누어진 명령은 아니고 내부적으로 이런 식으로 동작한다고 보면 된다. 1. 현재 RBP에 저장되어 있는 값을 RSP에 저장. 현재 함수에서 사용한 스택 프레임을 ..
dreamhack, Lazenca 같은 사이트를 보면 pwnable공부 첫 시작은 shellcode이다. 처음 pwnable을 공부했을 때는 왜 쉘코드를 먼저 배우는지 이해하지 못했다. 그냥 인터넷에 있는거 가져다 쓰면 안 되나? 이런 생각을 했었던 것 같다. 지나고 보니 왜 쉘코드를 먼저 배우는지 알 것 같다. pwnable을 하기에 앞서 쉘코드를 통해 배울 수 있는 게 매우 많다. 컴파일 과정, 어셈블리, 함수 호출 규약, 32bit와 64bit의 차이점 등등 또한 CTF에서는 일반적인 쉘코드로는 문제가 풀리지 않아 직접 짜야할 때가 있다. 그래서 나도 shellcode부터 정리를 시작하려고 한다. 먼저 shellcode를 공부하기 전에 어셈블리, 레지스터 관련해서 예전에 정리해둔 이 글을 읽고 오자..
kimg00n
'Pwn/Stack-Based' 카테고리의 글 목록