GOT overwrite (feat. plt, got)


GOT overwrite (feat. plt, got)

GOT overwrite를 설명하기 전에 plt got에 대해 간단하게 알아보자.간단하게plt: 외부 라이브러리를 연결해주는 것got: 우리가 사용하고싶은 함수의 실 주소가 담겨있는 곳예를 들어보자우리가 printf라는 함수를 쓰기 위해서는 #include<stdio.h>를 해줘야 한다.여기서 got가 #include<stdio.h> 라고 생각해도 좋다.한번 printf를 실행하는 것을 머릿속으로 떠올려 보자.printf가 실행되는 순서는1. 사용자가 call printf를 해준다.2. plt를 통해 printf 함수고 실제로 존재하는 got 주소로 jmp를 해준다.3. got에 있는 printf의 주소를 반환받아 printf 를 사용한다.다시 정리하자면 plt는 got에서 함수를 꺼내오기 위한 도..........



원문링크 : GOT overwrite (feat. plt, got)