La seguridad de las aplicaciones web es una filosofía de seguridad orientada a proteger las aplicaciones alojadas en sitios web y asegurar los sitios web mismos. La entidad que se protege está adjunta a un sitio web, por lo que la seguridad de las aplicaciones web debe realizarse en un lenguaje de programación que los sitios web puedan entender. Se utilizan comúnmente varios tipos de programas de seguridad para proporcionar esta protección, incluidos los escáneres de vulnerabilidades y las pruebas de entrada. Hay muchos tipos de ataques que pueden ocurrir en un sitio web o una aplicación web, pero las secuencias de comandos y la inyección de código son las dos amenazas de seguridad más comunes en línea.
Proteger un sitio web o una aplicación web es muy diferente a crear seguridad para un programa que está instalado en un escritorio. La aplicación está en línea y, por lo general, cualquier persona, o al menos un gran grupo de usuarios, puede acceder a ella, por lo que aumenta la posibilidad de que un usuario malintencionado encuentre la aplicación web. También suele ser más fácil para un usuario malintencionado inyectar código en un sitio web, por lo que la seguridad de las aplicaciones web debe superar estos desafíos.
Al crear un programa de seguridad de aplicaciones web, los desarrolladores de software deben crear el programa en un idioma que se pueda utilizar en un servidor o un sitio web. Si un servidor o sitio web no puede comprender el lenguaje de programación, existe una alta probabilidad de que el programa no sea efectivo. Muchos programas de seguridad de escritorio están construidos en estos lenguajes, por lo que normalmente esto no representa un problema para la mayoría de los desarrolladores de software.
La codificación es extremadamente importante para la seguridad de las aplicaciones web, porque una codificación deficiente de un sitio web o una aplicación web puede facilitar que un pirata informático ingrese al sistema. Por esta razón, muchos programas de seguridad de aplicaciones web están diseñados para analizar la codificación en busca de vulnerabilidades o volatilidad de penetración. Las secciones de entrada también pueden ayudar a un pirata informático a entrar en el sistema, por lo que los programas se utilizan normalmente para comprobar la estabilidad de estas áreas de entrada. Los cortafuegos y los probadores de contraseñas también se utilizan comúnmente para una mayor seguridad del sitio web.
Un pirata informático puede atacar la aplicación web o el sitio web de muchas formas diferentes, pero habitualmente se utilizan dos ataques principales. La inyección de código, generalmente desde el lenguaje de consulta estructurado (SQL), agrega un código al sitio web o su base de datos. Esto puede causar problemas por sí solo o puede abrir agujeros en la seguridad para ataques más severos. Los scripts son similares a la inyección de código, excepto que ejecutan un programa malicioso en lugar de agregar programación maliciosa al sistema.