Exploit (computer security)
From Free net encyclopedia
In computer security, an exploit is a piece of software that takes advantage of a bug, glitch or vulnerability in order to gain control of a computer system or allow privilege escalation or a denial of service attack.
There are several methods of classifying exploits. The most common is by how the exploit contacts the vulnerable software. A 'remote exploit' works over a network and exploits the security vulnerability without any prior access to the vulnerable system. A 'local exploit' requires prior access to the vulnerable system and usually increases the privileges of the person running the exploit past those granted by the system administrator. Exploits against client applications also exist, usually consisting of modified servers that send an exploit if accessed with client application. Exploits against client applications may also require some interaction with the user and thus may be used in combination with social engineering methods.
Exploits can also be classified by the type of vulnerability they attack. See buffer overflow, heap overflow, integer overflow, return-to-libc attack, format string attack, race condition, code injection, SQL injection, cross-site scripting and cross-site request forgery.
Another classification is by the action against vulnerable system: unauthorised data access, code execution, denial of service.
Many exploits are designed to provide superuser-level access to a computer system. However, it is also possible to use several exploits, first to gain low-level access, then to escalate privileges repeatedly until one reaches root.
Normally a single exploit can only take advantage of a specific software vulnerability. Often, when an exploit is published, the vulnerability is fixed through a patch and the exploit becomes obsolete for newer versions of the software. This is the reason why some blackhat hackers do not publish their exploits but keep them private to themselves or other malicious crackers. Such exploits are referred to as 'zero day exploits' and to obtain access to such exploits is the primary desire of unskilled malicious attackers, often nicknamed script kiddies.
See also
- computer security
- shellcode, code that is executed to gain access to a system, usually as a super-user
- computer virus
- Metasploit, a framework for the construction and execution of exploits
External links
- SecurityDocs - A great resource for researching exploits
- Exploits - World Wide Exploits and 0day Exploits Database by the FrSIRT -- no longer freely available, registration required
- Advanced Exploit Tutorials
- Proof of concept exploit downloads
- Home of the Bugtraq computer security mailing list
- ExploitTree from SecurityForest
- Exploits archive from Security.NNOV
- Rosiello Security Exploits from Rosiello Securityde:Exploit
es:Exploit fr:Exploit it:Exploit pl:Exploit pt:Exploit ru:Эксплойт