Hacking/LOB(RedHat)

Buffer Overflow 기초


버퍼오버플로우란?

버퍼 오버플로(buffer overflow) 또는 버퍼 오버(buffer overrun)은 메모리를 다루는 데에 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점이다.

네이버 펌


bof의 구성은 이렇다 



[Buffer]   [SFP]  [leavel] [RET]      


여기서 버퍼는 문제에 따라 변하고 sfp는 4바이트 ret도 4바이트이다

leavel는 필자도 아직 모른다. 나중에 알게되면 추가예정이다.

버퍼오버플로우의 기초 원리는 정해진 버퍼를 넘치게해 오류를 일으키는것이다.

여기서 핵심은 ret에 있다. ret은 리턴어드레스라고하는데 함수가 종료될때 복귀주소를 의미한다.

주어진 버퍼크기 보다 큰 값을 주어 버퍼오버플로우를 일으키고 ret값을 변조하여 프로그램 실행흐름을 바꿀수있다.



'Hacking > LOB(RedHat)' 카테고리의 다른 글

HackerSchool LOB Level 5  (0) 2015.07.24
HackerSchool LOB Level4  (0) 2015.07.24
HackerSchool LOB Level3  (0) 2015.07.24
HackerSchool LOB Level 2  (0) 2015.07.22
HackerSchool LOB Level 1  (0) 2015.07.16