반응형
문제
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 |