Top 10 Web application security vulnerabilities

Based on the Open Web Application Security Project's top 10 project, this guide covers the 10 most critical Web application security vulnerabilities and how to protect your applications.

Michelle Davidson, editorIf you create applications for the Web -- or just use Web applications -- you know how important it is for those applications to be secure. Hackers are always looking for that overlooked gap so they can work their way into your application and your data.

This learning guide, which is based on the Open Web Application Security Project's top 10 project, walks you through the 10 most critical Web application security vulnerabilities and how to protect against them. You'll find articles, tips, expert advice and more to help ensure you're in the know about these threats.

Are there other topics you'd like to see learning guides on? Send me an e-mail and let me know what they are.
-- Michelle Davidson, Editor.

   What is OWASP?
   Top 10 most critical Web application security vulnerabilities

  1. Unvalidated Input
  2. Broken Access Control
  3. Broken Authentication and Session Management
  4. Cross Site Scripting (XSS) Flaws
  5. Buffer Overflows
  6. Injection Flaws
  7. Improper Error Handling
  8. Insecure Storage
  9. Denial of Service
  10. Insecure Configuration Management

  What is OWASP?  Return to Table of Contents

  Top 10 most critical Web application security vulnerabilities  Return to Table of Contents

  1. 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.
    (Return to Table of Contents)

  2. 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.
    (Return to Table of Contents)

  3. 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.
    (Return to Table of Contents)

  4. Cross Site Scripting (XSS) Flaws: 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.
    (Return to Table of Contents)

  5. Buffer Overflows: 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.
    (Return to Table of Contents)

  6. 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.
    (Return to Table of Contents)

  7. 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.
    (Return to Table of Contents)

  8. 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.
    (Return to Table of Contents)

  9. 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.
    (Return to Table of Contents)

  10. 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.
    (Return to Table of Contents)

This was first published in January 2006

Dig deeper on Building security into the SDLC (Software development life cycle)



Enjoy the benefits of Pro+ membership, learn more and join.



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: