TOCTTOU: time of check to time of use
stat()
vs. fstat()
stat()
works on filenames, while fstat()
works on file descriptors.
The major reason is security: if you first stat()
the file and then open()
it, there is a small window of time in between where the file could have been modified (or had its permissions changed, etc) or replaced with a symlink.
Single most powerful and used fuzzing tools; used by testers & attackers.
Trying different inputs to break system,
systematically
.
Read more on fuzz testing.
strace
and ltrace
are powerful, even if the executable is read-protected.