0
私はC言語のコードを持っています。私はどこにTOCTTOUの脆弱性があるのか、その理由を知る必要があります。誰かがそれがどこでどのように私はそれを修正することができます知っていますか?TOCTTOUコードの脆弱性
int process(char *filename)
{
struct stat aux;
char buffer[1024];
printf("Input to be appended: ");
fgets(buffer, sizeof(buffer), stdin);
if((lstat(filename, &aux) == 0) && !S_ISLNK(aux.st_mode))
{
printf("[+] Opening\n", filename);
int fd = open(filename, O_RDWR | O_APPEND), nb;
nb = write(fd, buffer, strlen(buffer));
printf("[+] Done!\n");
return 0;
}else
printf("[-] ERROR\n", filename);
return 1;
}
int main(int argc, char * argv[])
{
if(argc != 2){
fprintf(stderr, "usage: %s filename\n", argv[0]);
exit(1);
}
return process(argv[1]);
}
ありがとう!!
コードの例を教えてください。ありがとう! :) – user7346822
確かにあなたは冗談を言っています。 user7346822 ;-) –
いいえ、あなたが何を意味するか分かりましたら、私はそれをよりよく理解します。ありがとう – user7346822