Injection flaws allow attackers to relay malicious code through Web apps to another system, such as backend databases or the operating system. To remedy this, organizations can use commercial WAFs (Web application firewalls), which can include negative security signatures to identify attack payloads, according to Ryan Barnett, director of application research at Breach Security. By analyzing the outbound pages, WAFs can also identify when an injection flaw is successful by identifying information leakages.
4Broken Authentication and Session Management
5Insecure Direct Object Reference
6Cross-Site Request Forgery
CSRF (Cross-site request forgery) occurs when a Web app fails to properly verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request. To prevent CSRF, include an unpredictable token in a hidden field as part of each transaction, OWASP recommends. There should be a unique token for every user session at minimum but can also be unique per request.
An unsecure configuration for the application, framework, Web server, application server and/or platform can spell disaster. These settings should be well-defined and relatively easy to deploy to another environment. Ideally, this process should be automated to minimize the effort required to set up a new, secure environment.
8Insecure Cryptographic Storage
Web applications that do not use appropriate encryption for sensitive information such as social security numbers and credit card information leave users open to compromise in the event of an attack. Organizations should take stock of the threat landscape and make sure sensitive data is protected. Also off-site backups should be encrypted, with the keys managed and stored separately.
9Failure to Restrict URL Access
According to OWASP, many Web applications check URL access rights before rendering protected links and buttons. However, applications should perform similar checks when these pages are accessed, or attackers will be able to forge URLs to access these hidden pages anyway. Controlling URL access also includes setting proper access rate thresholds (anti-automation) to identify/prevent denial of service, brute force and scraping attacks, said Ryan Barnett, director of application research at Breach Security.
10Insufficient Transport Layer Protection
Applications frequently fail to encrypt network traffic when it is necessary to protect sensitive communications. When they do, they sometimes support weak algorithms, use expired or invalid certificates, or do not use them correctly. To prevent this, consider requiring SSL (Secure Sockets Layer) for certain pages and making non-SSL requests to those pages redirect to a SSL page.
11Unvalidated Redirects and Forwards
This is new to OWASP’s list. Web applications frequently redirect and forward users to other pages and Websites. If untrusted data is used to determine the destination pages, attackers could redirect victims to malicious sites. Again, the answer to this lies with proper validation.