[Stack] Frame Pointer Overflow, FPO에 대하여 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[Stack] Frame Pointer Overflow, FPO에 대하여

오늘은 FPO, Frame Pointer Overflow에 대해서 알아볼 것입니다. SFP Overflow라고도 불립니다. FPO에 대한 풀이 글들을 보면 계속 leave가 ebp+4에 접근할 수 있다, sfp를 조작했으니 ebp를 조작할 수 있다이런 말들이 되게 많은데 이걸 단계별로 제대로 이해하지 못하고 넘어가면 이게 뭔 개소리지??? 하다가 포기하게 되니까 천천히 이해해봅시다. 일단 FPO가 뭔지 알아봅시다. 일단 FPO를 이해하기 위해서는 기본적인 stack구조가 어떻게 굴러가는지 알아야하며, 더불어 stack bufferoverflow가 어떻게 일어나는지 배경지식으로 알고 있어야 합니다. 그에 대해서 잘 모른다면 먼저 stack bufferoverflow에 대해서 공부를 해보고, 이 글은 buf..

2020.07.30 게시됨

[stack] 함수의 에필로그(epilogue) 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[stack] 함수의 에필로그(epilogue)

함수의 에필로그(epilogue)에 대하여 오늘은 함수의 에필로그라는걸 배울 것입니다. 보통 함수의 프롤로그와 에필로그를 묶어서 설명하는데, 모든 함수의 처음(프롤로그)과 끝(에필로그)에 공통적으로 들어가기 때문에 프롤로그와 에필로그라고 합니다. 오늘은 에필로그만 보겠습니다. 에필로그의 각 단계를 설명하고, 그림으로 다시한번 이해해 보도록 하겠습니다. Function Epilog leave ret 간단하죠? 에필로그는 leave와 ret로 구성되어있습니다. 그러나 각 단계를 더 나눠서 볼게요. Internal of "Leave" move esp, ebp pop ebp 우선 Leave입니다. ebp를 esp로 복사하여 지역변수를 정리하고, stack의 가장 위에 있는 값을 ebp에 pop합니다. 근데 여기..

2020.07.30 게시됨

[ROP] gadget찾는법 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[ROP] gadget찾는법

ROP(Return Oriented Programming)에서 가장 핵심적인 부분을 고르라고 하면 gadget을 구하는 것일 것이다. 이에는 몇가지 방법이 있다. 1. ROPgadget 이용하기 명령어는 다음과 같이 쓰면 됩니당. ROPgadget --binary (파일명) | grep '(찾을 가젯)' 짠. 다음과 같이 사용하면 된다. 위의 경우는 64비트의 경우고 32비트도 그냥 똑같다. (참고로 64비트에서 인자 받는 순서는 rdi, rsi, rdx 순서라고 한다 외우장) 근데 저기 세 번째의 경우를 보면 아무런 결과가 없다. 그럼 경우는 두가지이다. 1. 진짜로 pop rdx가 없다. 2. ROPgadget 으로는 조회가 되지 않는다. 근데 이경우는 프로그램에 pop rdx가 없을리가 없기때문에 ..

2019.10.11 게시됨

[Heap Exploit] UAF(Use After Free)기법 이론설명 포스팅 썸네일 이미지

SYSTEM HACKING/PWNABLE&REVERSING

[Heap Exploit] UAF(Use After Free)기법 이론설명

Heap Exploit UAF(Use After Free)기법 이론설명 당분간은 Heap의 취약점 분석을 할 것인데요, 오늘은 UAF(Use After Free)기법입니다. UAF기법을 들어가기 전에, Heap구조가 무엇인지 알아야겠죠? 모른다면, 공부를 조금 하고 다시 돌아오는 것으로 합시다. 아무튼 다들 Heap구조를 어느정도 알고 있다는 전제 하에 진행을 하면, Heap구조는 컴퓨터 안의 메모리 구조 중 사용자가 임의로 사용하는 메모리 공간으로, 대표적으로 malloc함수를 이용해 선언해주고, free함수를 통해 해제를 해준다는 것을 알 수 있습니다. 본격적으로 설명해봅시다. 1. First-Fit 알고리즘 UAF에 대해서 본격적으로 들어가기 전에, First-Fit 알고리즘에 대해서 이해할 필요가..

2019.07.29 게시됨