For over forty years the computer industry has been engaged in a
cat and mouse game of defensive and offensive techniques and
countermeasures. Traditionally, the offensive side almost always
has a technological and time advantage.
Exploits are among the primary tools of the offensive side. An
exploit is typically a piece of software, or some logic used by an
attacker, which takes advantage of a bug or behaviour in the
targeted software or hardware. Use of the exploit allows the
target to be manipulated in ways unintended by the designer.
This manipulation can in turn allow security bypasses, such as
executing arbitrary code when only strict program interaction was
intended or extracting sensitive data without authentication.