Web application security
|This article is part of a series on|
|Related security categories|
Web application security, is a branch of Information Security that deals specifically with security of websites, web applications and web services. At a high level, Web application security draws on the principles of application security but applies them specifically to Internet and Web systems.
With the emergence of Web 2.0, increased information sharing through social networking and increasing business adoption of the Web as a means of doing business and delivering service, websites are often attacked directly. Hackers either seek to compromise the corporate network or the end-users accessing the website by subjecting them to drive-by downloading.
The majority of web application attacks occur through cross-site scripting (XSS) and SQL injection attacks which typically result from flawed coding, and failure to sanitize input to and output from the web application. These are ranked in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors.
According to the security vendor Cenzic, the top vulnerabilities in March 2012 include:
Best Practices Recommendation
Secure web application development should be enhanced by applying security checkpoints and techniques at early stages of development as well as throughout the software development lifecycle. Special emphasis should be applied to the coding phase of development. Security mechanisms that should be used include, threat modeling, risk analysis, static analysis, digital signature, among others. Using a Web Firewall Application (WAF) is a sound preventative measure; other steps can be taken to secure Internet and web systems. These include:
- Information Gathering—the review of the application to identify egress points and client-side codes including the classification of third-party hosted content.
- Authorization—examines the application for path traversals, vertical and horizontal access control issues, missing authorization and insecure, direct object references.
- Cryptography—insures that all data transmission are secure, including the encryption of critical data, the use of robust algorithms and the removal of random errors.
- Protection from denial of service attacks—tests for anti-automation, account lockout, HTTP DoS and SQL wildcard DoS. 
OWASP is the emerging standards body for Web application security. In particular they have published the OWASP Top 10 which describes in detail the major threats against web applications. The Web Application Security Consortium (WASC) has created the Web Hacking Incident Database and also produced open source best practice documents on Web application security.
While security is fundamentally based on people and processes, there are a number of technical solutions to consider when designing, building and testing secure web applications. At a high level, these solutions include:
- Black box testing tools such as Web application security scanners, vulnerability scanners and penetration testing software
- White box testing tools such as static source code analyzers
- Fuzzing Tools used for input testing
- Web application security scanner (vulnerability scanner)
- Web application firewalls (WAF) used to provide firewall-type protection at the web application layer
- Password cracking tools for testing password strength and implementation
- Application service architecture (ASA)
- w3af a free open-source web application security scanner
- OWASP Open Web Application Security Project
- Web application security scanner
- "Web Application Security Overview". 2015-10-23.
- "The Ghost in the Browser" (PDF). Niels Provos et al. May 2007.
- "All Your iFrames Point to Us" (PDF). Niels Provos et al. February 2008.
- "Improving Web Application Security: Threats and Countermeasures". Microsoft Corporation. June 2003.
- "Microsoft fortifies IE8 against new XSS exploits". Dan Goodin, The Register. February 2009.
- "Testing and Comparing Web Vulnerability Scanning Tools for SQL Injection and XSS Attacks" (PDF). Fonseca, J.; Vieira, M.; Madeira, H., Dependable Computing, IEEE. Dec 2007.
- "CWE/SANS Top 25 Most Dangerous Programming Errors". CWE/SANS. May 2009.
- "2012 Global Losses From Phishing Estimated At $1.5 Bn". FirstPost. February 20, 2013. Retrieved December 21, 2014.
- "2012 Trends Report: Application Security Risks". Cenzic, Inc. 11 March 2012. Retrieved 9 July 2012.
- Shuaibu, Bala Musa; Norwawi, Norita Md; Selamat, Mohd Hasan; Al-Alwani, Abdulkareem (2013-01-17). "Systematic review of web application security development model". Artificial Intelligence Review. 43 (2): 259–276. doi:10.1007/s10462-012-9375-6. ISSN 0269-2821.
- "Web Application Security". Web Application Security Center. Retrieved 20 May 2017.
- "The Web Hacking Incidents Database". WASC. January 2010.
- "Web Application Vulnerability Scanners". NIST.
- "Source Code Security Analyzers". NIST.
- "Fuzzing". OWASP.
- "Web application firewalls for security and regulatory compliance". Secure Computing Magazine. February 2008.