#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
main(){
char buf2[10]; /*char형 변수 buf2라는 이름에 10바이트의 크기 배열 선언*/
char buf[10]; /*char형 변수 buf10라는 이름에 10바이트의 크기 배열 선언*/
printf("It can be overflow : ");
fgets(buf,40,stdin); /*fget([char *str],[int size],[FILE *Stream]) 형식*/
/*40바이트 만큼의 입력을받고 buf변수에 집어넣음*/
if ( strncmp(buf2, "go", 2) == 0 ) /*buf2의 문자열이 "go"라면 if문 안을 실행한다.*/
{
printf("Good Skill!\n");
setreuid( 3010, 3010 );
system("/bin/bash");
}
}
버퍼오버 플로우 문제가 나왔네요
하지만 처음 접하는 사람한테는 이해가 잘 안되더라구요 그래서 정리겸 복습을위해 올립니다!
'FTZ 따라하기' 카테고리의 다른 글
Level 10 C언어 (0) | 2018.12.06 |
---|