3. ASPECTOS BÁSICOS
Seguridad en Aplicaciones Web
- Es una Área de la Seguridad Informática que se especializa en Test, Intrusión y
Aseguramiento de Código de lenguajes de Programación.
- Seguridad en Sitios WEB , Portales Web, Aplicación Web, Servicio Web.
- Lenguajes de Programacion: PHP, Java EE, Java, Python, Ruby, ASP.NET, C#, VB.
NET o ASP clásico.
- La mayoría de los ataques a aplicaciones web ocurren a través del cross-site scripting
(XSS) e inyección SQL5 el cual comúnmente resulta de una codificación deficiente y
la falta de desinfección de las entradas y salidas de la aplicación web.
- El Phishing es otra amenaza común de las aplicaciones Web. "SA, la División de
Seguridad del EMC, anuncio hoy lo hallado en su reporte sobre fraude de enero de
2013, estimando las pérdidas globales debido al phishing en $1.5 billones en 2012".7
Dos de los métodos de phishing más conocidos son Covert Redirect y Open Redirect.
5. ASPECTOS BÁSICOS
- Fallos de Programación.
- Personal No Formado en Seguridad WEB.
- Vulnerabilidades 0day. : Un ataque de día-cero (en inglés zero-day attack o 0-day
attack) es un ataque contra una aplicación o sistema que tiene como objetivo la
ejecución de código malicioso gracias al conocimiento de vulnerabilidades que, por lo
general, son desconocidas para la gente y el fabricante del producto.
-
SQL INJECTION:
- Error en la Validación
- Inyeccion de Codigo
- Alteración del Funcionamiento en una Aplicación WEB Basado en la Base de Datos ( SQL)
Muchas sentencias SQL con un Propósito y Fin.
7. xss
XSS - REFLECTED Y STORED
- Inyeccion de Codigo Javascript.
- Saltar Medidas de Protección.
- <script> alert(estoy asustado);</script>
XSS, del inglés Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad típico
de las aplicaciones Web, que permite a una tercera persona inyectar en páginas web visitadas por el
usuario código JavaScript o en otro lenguaje similar (ej: VBScript), evitando medidas de control como
la Política del mismo origen. Este tipo de vulnerabilidad se conoce en español con el nombre de
Secuencias de órdenes en sitios cruzados.1
10. SQL INJECTION
Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad
informática presente en una aplicación en el nivel de validación de las entradas para realizar
operaciones sobre una base de datos.
El origen de la vulnerabilidad radica en el incorrecto chequeo o filtrado de las variables utilizadas en un
programa que contiene, o bien genera, código SQL. Es, de hecho, un error de una clase más general
de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o script que esté
embebido dentro de otro.
13. ESTÁNDAR OWASP
OWASP es el estándar emergente para la
seguridad de aplicaciones Web. Han
publicado el OWASP Top 10 que describe
a detalle las principales amenazas de las
aplicaciones web. El Consorcio de
Seguridad de Aplicaciones Web (WASC)
ha creado la Base de Datos de Incidentes
de Hackeo9 así como mejores
documentos de código abierto sobre
seguridad de aplicaciones Web.
VER DOCUMENTO
COMPLETO
14. CONSEJOS Y RECOMENDACIONES
- Actualizar Constantemente la Aplicación Web ( Aplicar Parches de
Actualización y Seguridad )
- Mantener Cambios de Contraseñas en los Sistemas Web Cada 30 0 60 Dias.
- Realizar Test Pent Web Cada 90 ó 120 Días.
- Mantener un Orden con la GUÍA OWASP.
- Mantener Actualizado en Conocimiento en nuevas vulnerabilidades WEB.
- Para Sitio Grandes y Alto Trafico , Mantener sellos de Seguridad ( Sitelock,
Godaddy, Norton, Comodo , Etc … )
- Para Sitio Grandes y Alto Trafico, Mantener un Servicio de Pago de
Monitoreo Web por una empresa de Hacker o Expertos en Seguridad
Informática.
15. CONSEJOS Y RECOMENDACIONES
- Validar Entradas en el Servidor
- Formulario, Campos, Pasado de Parámetros, Caracteres Especiales
-
- Usar Cuentas SQL Restringidas ( la pereza nos da para decir crear
usuario, crear base de datos, y asignar TODOS LOS PRIVILEGIOS del usuario a
la Base de Datos. y Listo.
-
18. QUE HACE WAPITI
Wapiti can detect the following vulnerabilities :
- File disclosure (Local and remote include/require, fopen, readfile...)
- Database Injection (PHP/JSP/ASP SQL Injections and XPath Injections)
- XSS (Cross Site Scripting) injection (reflected and permanent)
- Command Execution detection (eval(), system(), passtru()...)
- CRLF Injection (HTTP Response Splitting, session fixation...)
- XXE (XmleXternal Entity) injection
- Use of know potentially dangerous files (thanks to the Nikto database)
- Weak .htaccess configurations that can be bypassed