An open source security group has put together a helpful list of the ten most critical web application security vulnerabilities.
Although plenty of attention is given to the nuisance of viruses and the risks posed by insecure firewall configuration, application security is arguably an even more important risk area. The checklist from the Open Web Application Security Project (OWASP) is therefore a timely reminder of the types of problems people can run into in the application security arena.
The list, designed to help organizations understand and improve the security of their web applications and web services, is a worthwhile pointer for both Web developers and vendors.
OWASP's top risks list
1. Invalidated parameters: Failure to validate information from a Web requests before these are used by a Web application. Attackers can use these flaws to attack backend systems through a Web application.
2. Broken access control: Restrictions on what authenticated users are allowed to do are often not properly enforced. Attacks use this to access other users' accounts, view sensitive files or run unauthorised functions.
3. Broken account and session management: Account credentials and session tokens left without proper protection, leading to the risk that crackers could assume victims' identities.
4. Cross-site scripting flaws: A modern classic - mistakes here mean Web applications can be used as a mechanism to steal session tokens, attack a local machine or spoof content.
5. Buffer overflows: Arguable the most common type of security risk (so why isn't it number one? Ed). Sloppy programming means applications fail to properly validate inputs - so maliciously constructed, malformed requests can crash a process and be used to inject hostile code into target machines.
6. Command injection flaws: If an attacker can embed malicious commands in parameters passed to external systems these may be executed on behalf of a web application, to unpleasant effect.
7. Error handling problems: If an attacker can cause errors which are improperly handled, all manner of mischief (information disclosure, system crashes etc.) might be possible.
8. Insecure use of cryptography: Web apps frequently use cryptography. If that's not coded properly, sensitive information won't be adequately protected.
9. Remote administration flaws: If remote Web admin tools are insecure then an attacker stands a chance of gaining full access to all aspects of a site.
10. Web and application server misconfiguration: Don't trust out of the box security
OWASP says the flaws is highlights are "surprisingly common and can be exploited by unsophisticated attackers with easily available tools".
"When an organization deploys a web application, they invite the world to send HTTP requests. Attacks buried in these requests sail past firewalls, filters, platform hardening, SSL, and IDS without notice because they are inside legal HTTP requests. Therefore, web application code is part of the security perimeter and cannot be ignored," it adds.