까먹으면 다시 볼라구 basic한 bof기법 몇가지를 정리해두려 한다
먼저 bof란 buffer overflow의 약자로 가장 먼저 떠오르는 것은 stack bof이다
stack 메모리 공간에서 정해진 메모리 양보다 input양이 더 많을 때 넘치는 취약점을 말하는데, 이해하려면 당연히 stack 구조의 이해가 먼저 필요하다.
stack 의 구조는 아래와 같다
[출처] http://bob3rdnewbie.tistory.com/187
만약 buf의 크기가 40byte이면 40보다 더 많은 양인 44byte를 넣어서 4byte를 overflow 시키는 것이다. 기본적으로 ret주소를 /bin/sh 또는 삽입한 쉘코드의 시작주소로 조작할 수 있다
취약한 함수로는 strcpy, gets 함수 등 입력 수 제한이 없는 함수들이 있다
따라서 이런 함수들은 사용을 권장하지 않고 strncpy, fgets 등 byte 제한이 있는 함수 사용을 권장한다.
'보안 스터디 > system' 카테고리의 다른 글
[pwnable] Fake ebp (0) | 2018.11.15 |
---|---|
[Ubuntu] 윈도우, 우분투 파일공유 (0) | 2018.11.14 |
peda-gdb (0) | 2018.11.09 |
[Linux] tar 압축 명령어 (0) | 2018.11.09 |
Linux 명령어 (0) | 2018.09.14 |