본문 바로가기

system

[protostar]stack4.c

반응형

문제

Stack4 takes a look at overwriting saved EIP and standard buffer overflows.

This level is at /opt/protostar/bin/stack4

Hints:
A variety of introductory papers into buffer overflows may help.
gdb lets you do "run < input"
EIP is not directly after the end of buffer, compiler padding can also increase the size.

stack4는 표준의 버퍼 오버플로우와 저장된 EIP의 오버라이팅에 주목한다

 

코드

#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);
}

 

gdb로 info functions를 통해 win함수가 있음을 확인할 수 있고,

위치가 401132으로 되어있음을 확인했다.

 

disas win으로 확인해봐도 다른 점은 없다.

이렇게 풀어서 문제를 해결했다.

반응형

'system' 카테고리의 다른 글

[protostar]format0  (0) 2020.11.02
[protostar]stack6.c  (0) 2020.11.02
[protostar]stack3.c  (0) 2020.09.22
[protostar]stack0  (0) 2020.09.22
[protostar]stack1.c  (0) 2020.09.22