Untitled
unknown
plain_text
a year ago
690 B
5
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
void main()
{ int fd;
fd = open("/etc/zzz", O_RDWR | O_APPEND);
if (fd == -1) {
printf("Cannot open /etc/zzz\n");
exit(0);
}
/* Simulate the tasks conducted by program */
sleep(1);
/* After the task, the root privileges are no longer
needed, so drop the root privileges permanently.*/
setuid(getuid());
if (fork()) { /* In the parent process */
close (fd);
exit(0);
} else { /* in the child process */
/* Assume that the child process is compromised,
attackers have injected the following statements into
this process */
write (fd, "Malicious Data\n", 15);
close (fd);
}
}
Editor is loading...
Leave a Comment