Top 10 2004
NOTE: THIS IS NOT THE CURRENT VERSION
Please visit the OWASP Top 10 project page to find the latest edition.
Welcome to the OWASP Top Ten 2004
The OWASP Top Ten provides a powerful awareness document for web application security. The OWASP Top Ten represents a broad consensus about what the most critical web application security flaws are. Project members include a variety of security experts from around the world who have shared their expertise to produce this list. There are currently versions in English, French, Japanese, and Korean. A Spanish version is in the works. We urge all companies to adopt this awareness document within their organization and start the process of ensuring that their web applications do not contain these flaws. Adopting the OWASP Top Ten is perhaps the most effective first step towards changing the software development culture within your organization into one that produces secure code.
You can Download International Versions from SourceForge until we get them moved to the main site. There are versions in all of the following languages.
Top Ten Overview
The following list summarizes the OWASP Top Ten. However, we strongly recommend reading the full report, as each area covers quite a lot of ground.
- A1 2004 Unvalidated Input
- Information from web requests is not validated before being used by a web application. Attackers can use these flaws to attack backend components through a web application.
- A2 2004 Broken Access Control
- Restrictions on what authenticated users are allowed to do are not properly enforced. Attackers can exploit these flaws to access other users' accounts, view sensitive files, or use unauthorized functions.
- A3 2004 Broken Authentication and Session Management
- Account credentials and session tokens are not properly protected. Attackers that can compromise passwords, keys, session cookies, or other tokens can defeat authentication restrictions and assume other users' identities.
- A4 2004 Cross Site Scripting
- The web application can be used as a mechanism to transport an attack to an end user's browser. A successful attack can disclose the end user?s session token, attack the local machine, or spoof content to fool the user.
- A5 2004 Buffer Overflow
- Web application components in some languages that do not properly validate input can be crashed and, in some cases, used to take control of a process. These components can include CGI, libraries, drivers, and web application server components.
- A6 2004 Injection Flaws
- Web applications pass parameters when they access external systems or the local operating system. If an attacker can embed malicious commands in these parameters, the external system may execute those commands on behalf of the web application.
- A7 2004 Improper Error Handling
- Error conditions that occur during normal operation are not handled properly. If an attacker can cause errors to occur that the web application does not handle, they can gain detailed system information, deny service, cause security mechanisms to fail, or crash the server.
- A8 2004 Insecure Storage
- Web applications frequently use cryptographic functions to protect information and credentials. These functions and the code to integrate them have proven difficult to code properly, frequently resulting in weak protection.
- A9 2004 Application Denial of Service
- Attackers can consume web application resources to a point where other legitimate users can no longer access or use the application. Attackers can also lock users out of their accounts or even cause the entire application to fail.
- A10 2004 Insecure Configuration Management
- Having a strong server configuration standard is critical to a secure web application. These servers have many configuration options that affect security and are not secure out of the box.
OWASP would like to thank the researchers at Aspect Security for their leadership and contributions to the Top Ten project.
The OWASP Top Ten project lead is Jeff Williams from Aspect Security. He can be contacted at jeff.williams 'at' owasp.org.
- Ludovic Petit (French)
- Satoru Takahashi (Japanese)
- Jeremy Bae (Korean)
- Juan Carlos Calderon, Pedro DelReal, Rogelio Morell and Javier Muzquiz (Spanish)
- Weilin Zhong, Zhendong Yu, Wei Le (Chinese)
Users and Adopters
The U.S. Federal Trade Commission strongly recommends that all companies use the OWASP Top Ten and ensure that their partners do the same. In addition, the U.S. Defense Information Systems Agency has listed the OWASP Top Ten as key best practices that should be used as part of the DOD Information Technology Security Certification and Accreditation (C&A) Process (DITSCAP).
In the commercial market, the Payment Card Industry (PCI) standard has adopted the OWASP Top Ten, and requires (among other things) that all merchants get a security code review for all their custom code. In addition, a broad range of companies and agencies around the globe are also using the OWASP Top Ten, including:
- A.G. Edwards
- Bank of Newport
- Best Software
- British Telecom
- Bureau of Alcohol, Tobacco, and Firearms (ATF)
- Cboss Internet
- Contra Costa County, CA
- Corillian Corporation
- Foundstone Strategic Security
- IBM Global Services
- National Australia Bank
- Norfolk Southern
- Online Business Systems
- Predictive Systems
- Price Waterhouse Coopers
- Recreational Equipment, Inc. (REI)
- SSP Solutions
- Samsung SDS (Korea)
- Sempra Energy
- Sun Microsystems
- Swiss Federal Institute of Technology
- Texas Dept of Human Services
- ...and many others
Several schools have also adopted the OWASP Top Ten as a part of their curriculum, including Michigan State University (MSU), and the University of California at San Diego (UCSD).
Several open source projects have adopted the OWASP Top Ten as part of their security audits, including:
- Plone open source CMS project (managed by the Plone Foundation)
Please let us know how your organization is using the Top Ten. Include your name, organization's name, and brief description of how you use the list. Thanks for supporting OWASP!
We hope you find the information in the OWASP Top Ten useful. Please contribute back to the project by sending your comments, questions, and suggestions to firstname.lastname@example.org. Thanks!
To join the OWASP Top Ten mailing list or view the archives, please visit the subscription page.