È possibile pianificare le condizioni di gara, in modo da poter eseguire comandi specifici in un momento specifico?
Ad esempio, il codice seguente è vulnerabile a una condizione di competizione. È possibile modificare il file / sostituirlo con un link simbolico esattamente quando si verifica la finestra della gara e senza provare continuamente (come con while True
)?
if (access("file", W_OK) != 0) {
exit(1);
}
fd = open("file", O_WRONLY);
write(fd, buffer, sizeof(buffer));
Posso sfruttare questa vulnerabilità con un tentativo o un tentativo? Se la risposta è vera, come posso scrivere un exploit per farlo?
Il cronometraggio del flusso di esecuzione è possibile con la funzione C sleep(seconds);
possibile?