Prevención y amenazas a la seguridad de aplicaciones web: directorio basado en OWASP Top 10 y ESAPI
Historia 1: Una casa con ella es como un tesoro 2.
Historia 2: Errores en Weibo 3
Historia 3: Contraseña de texto sin formato 5
Historia 4: Jóvenes de TI VS Maestro Zen 5
Segundos términos básicos
Capítulo 1 Tecnología de aplicaciones web 8
1.1 Introducción a HTTP 8
1.2 Introducción a HTTPS 10
1.3 URI
1.3.1 Sitio web 11
1.3.2 URI/URL/URN 12
1.3.3 Comparación de URI
1.4 Mensaje HTTP 13
1.4.1 Método HTTP 14
1.4.2 Código de estado HTTP 19
1.5 Cookie HTTP20
1.5.1 HTTP El Función de la cookie 22
1 5 2 Desventajas de la cookie HTTP 23
1.6 Sesión HTTP 23
1.7 Seguridad de HTTP 24
< p. >Capítulo 2 OWASPIntroducción a OWASP 27
2.2 Método de evaluación de riesgos de OWASP 28
2.3 OWASP Top 10 34
2.4 ESAPI ( Enterprise Security API) 35
El tercer artículo sobre la herramienta
Capítulo 3 Introducción a las herramientas del servidor web 38
3.1
3.2 Otros Servidor de red 39
Capítulo 4 Navegador web y herramientas de depuración 42
4.1 Introducción al navegador 42
4.1.1 Funciones básicas 42
4.1.2 Navegadores convencionales 43
4.1.3 Kernel del navegador 44
4.2 Herramientas de desarrollo y depuración 45
Capítulo 5 Herramientas de prueba de penetración 47
Fiddler 47
5.1.1 Cómo funciona 47
5.1.2 Cómo capturar una sesión HTTPS 48
5.1.3 Introducción a la función Fiddler 49
5.1.4 Función de extensión de Fiddler 56
5.1.5 Función de extensión de terceros de Fiddler 56
5.2 ZAP 58
5.2.1 Depuración de puntos de interrupción 60
Codificación/decodificación 61
Escaneo activo 62
Spider 63
Grietas violentas 64 p>
Escaneo de puertos 65
Controlador difuso 66
API 66
5.3 WebScrab 67
5.3.1 Proxy HTTP 67
5.3 .2 Solicitud manual 69
Spider 70
5.3.4 Análisis de ID de sesión 71
5.3.5 Soporte de cáscara de frijol 71
5.3 .6 Codificación y decodificación de red 73
Capítulo 6 Introducción a las herramientas de escaneo 74
6.1 Herramienta de escaneo general: WebInspect 74
6.1.1 Introducción 74
6.1.2 Función WebInspect 74
6.1.3 Preparación del entorno 74
6.1.4 HP WebInspect 76 Descripción general
6.1.5 Pruebas de sitios web 79
6.1.6 Pruebas empresariales 86
6.1.7 Generación de informes 88
6.2 Herramienta de escaneo de código abierto-W3AF91 p>
6.2.1 Descripción general de w3af 91
Configuración del entorno de w3af 92
Ejemplo de uso de w3af 93
6.3 Herramienta de escaneo pasivo: proxy rat 94
6.3.1 R
Descripción general de atproxy 94
6.3.2 Configuración del entorno Ratproxy 95
6.3.3 Operación de Ratproxy 96
Capítulo 7 Sitio web de aprendizaje de vulnerabilidades 98
7.1 WebGoat 98
7.2 DVWA 99
7.3 Otros sitios web de aprendizaje de vulnerabilidades 99
Artículo 4 elementos ofensivos y defensivos
Código del Capítulo Octavo Inyección 102
8.1 Clasificación de Inyecciones 104
8.1.1 Inyección de Comandos del SO 104
8.1.2 Inyección XPath 109
8.1. 3 Inyección LDAP 114
Inyección SQL 118
8.1.5 Inyección JSON 131
8.1.6 Inyección de parámetros URL 133
8.2 OWASP ESAPI y prevención de problemas de inyección 135
8.2.1 Prevención ESAPI de inyección de comandos 135
8.2.2 Prevención de XPath 138 mediante inyección de XPath
8.2. prevención mediante inyección LDAP 138
8.2.4 Inyección ESAPI Prevención ESAPI 141
8.2.5 Prevención ESAPI a partir de otras inyecciones 143
8.3 Prevención de inyección Listado 143 p>
8.4 Resumen 144
Capítulo 9 Secuencias de comandos entre sitios (XSS) 146
9.1 Introducción a XSS 146
9.2 Clasificación XSS 146 p>
9.2.1 XSS reflectante 146
9.2.2 Almacenamiento XSS 148
9.2.3 XSS basado en DOM 149
9 . 4 Otra clasificación de XSS 151
9.3 Peligros del XSS 154
9.4 Detección de XSS 156
9.4.1 Detección manual 156
9.4. 2 Detección semiautomática 158
9.4.3 Detección automática 158
9.5 Prevención 159
9.5.1 Línea completa 159
9.5 .2 Prevenir 160 en el lado del servidor
9.5.3 Prevenir 168 en el lado del cliente
9.5.4 Medidas de prevención XSS para cuadros de texto enriquecido 170
CSS 172
El libre mercado 174
9.5.7 OWASP ESAPI y prevención XSS 177
9.6 Lista de verificación XSS 183
9.7 Resumen 184
p>Capítulo 10 Autenticación y gestión de sesiones no válidas 185
10.1 Introducción a la autenticación y gestión de sesiones 185
10.2 Quién movió mi cadena Secuestro de sesión 186
10.3 Por favor ingresa al diálogo fijo de la urna 188
10.4 Soy muy sutil - ataque de conversación indirecto 191
10.5 Cómo realizar el examen 199
10 5 1 Prueba de fijación de sesión 199
10.5.2 Uso de Web Scrab para analizar el ID de sesión 200
10.6 Cómo prevenir ataques de sesión 202
10.6.1 Cómo evitar la fijación de sesiones 202
Asegurar su token de sesión 204
10.7 Autenticación 208
10.7.1 Diagrama de flujo de autenticación de dos factores 209
10.7 .2 Explicación del principio de la autenticación de dos factores 210
10.7.3 Secretos ocultos en los códigos QR 211
10.7.4 Cómo implementar la autenticación de dos factores en el lado del servidor 212
10.7.5 ¿Qué hacer si no tienes un teléfono inteligente? 216
p>
10.8 Estándares básicos para el diseño de autenticación de identidad 216
10 8 1 Política de longitud y complejidad de la contraseña 216
10.8.2 Implementación de una estrategia de recuperación de contraseña segura 217
10.8.3 Las operaciones importantes deben transmitirse a través de HTTPS 217.
10.8.4 Mensajes de error de autenticación y bloqueos de cuentas 219
10.9 Lista de verificación 219
10.9.1 Lista de verificación de autenticación y administración de contraseñas 219
10.9.2 Lista de verificación de gestión de sesiones 220
10.10 Resumen 221
Capítulo 11 Referencias directas a objetos inseguros 222
11.1-Referencias directas a objetos 222
11.2 Peligros de objetos directos inseguros Referencia 224
11.3 Otras posibles referencias a objetos directos inseguros 224
11.4 Prevención de referencias a objetos directos inseguros 225 p>
11.5 Cómo utilizar OWASP ESAPI para prevenir 227
11.6 Lista de referencia directa de objetos 230
11.7 Resumen 230
Capítulo 12 Falsificación de solicitudes entre sitios (CSRF) 232
12.1 Introducción a CSRF 232
¿Quién tocó mi queso?
12.3 Principio de ataque de falsificación de solicitudes entre sitios 233
12.4 Quite el capullo y extráigalo para ver la verdad.
12.5 Otros posibles escenarios de ataque 236
12.5.1 Los enrutadores domésticos son atacados por CSRF 236
12.5.2 No creas que el uso de POST puede evitar CSRF 238 .
12.5.3 Escribe tu propio director CSRF 241.
12.5.4 Engañar a personas honestas mediante la redirección 243
12.6 Detección de falsificación de solicitudes entre sitios 245
1 Inspección manual 245
12.6.2 Probador CSRF semiautomático 246
12.7 Prevención de la falsificación de solicitudes entre sitios 250
12. 1 Algunos consejos que los usuarios deben conocer 250
12.7.2 Se agregaron algunas operaciones de confirmación 250.
12.7.3 Reautenticación 250
12.7.4 Agregar código de verificación) 250.
15.4.2 Ultra vires verticales 369
15.5 Carga y descarga de archivos 373
15.5.1 Carga de archivos 373
15.5.2 Descarga de archivos y recorrido de ruta 377
15.6 Recursos estáticos 382
15.7 Autenticación entre componentes en segundo plano 383
15.8 SSO 385
15.9 OWASP ESAPI y autorización 386
15. 9. 1 Implementación del controlador de acceso
15. 9. 2 Ejemplo de código del controlador de acceso 390
Aún tenemos que hacer qué p>
15.10 Lista de control de acceso 393
15.11 Resumen 393
Capítulo 16 Protección insuficiente de la capa de transporte 395
La historia de un encubierto: cifrado simétrico y cifrado asimétrico 36638 06.6543886865
16.2 Problema de transmisión de texto sin formato 396
16.3 ¿Cuáles son los peligros de 398?
16.3.1 Secuestro de sesión 398
16.3.2 Ataque de intermediario 399
16.4 Medidas preventivas
16.4.1 Algoritmo de intercambio de claves
16.4.2 Combinación de claves simétricas cifrado y cifrado asimétrico 401
16.4.3 SSL/TLS 406
Listado 423
16.6 Resumen 423
Capítulo 17 Redirecciones no validadas y reenvío 425
17.1 La historia del préstamo triangular y la redirección 425
17.1.1 Reenvío de URL 425
17.1.2 Redirección de URL 426
17.1.3 Diferencias entre reenvío y redirección 429
Implementación 17.1.4 Redirección de URL 430
17.2 Peligros 438
17.3 Cómo detectar 439 p>
17.4 Cómo prevenir 440
17.4.1 OWASP ESAPI y prevención441
17.5 Redirección y lista de reenvíos 443
17.6 Resumen 443
Artículo 5 Diez principios de diseño y codificación seguros
Capítulo 18 Diez principios de diseño seguro 448
Principio de diseño 1: Simplicidad Fácil de entender 448
Principio de diseño 2-Mínimo privilegio 448
Principio de diseño 3-A prueba de fallos 450
Principio de diseño 4-Proteger el vínculo más débil 451
p>Principio de diseño 5- Proporcionar defensa en profundidad 452
Principio de diseño 6-Separación 453
Principio de diseño 7-Ajuste general 454
Principio de diseño 8-Desconfianza por defecto 454
Principio de diseño 9-Protección de la privacidad 455
Principio de diseño 10-Diseño abierto, no creas que ocultar secretos significa seguridad 455
Capítulo 19 Los diez principios de Codificación segura 457
Principio de codificación 1: mantenerlo simple 457
Principio de codificación 2: validar la entrada 458
Principio de codificación 3: prestar atención a la alerta del servidor de compilación 459
Principio de codificación 4: el marco y el diseño deben cumplir con la Política de seguridad 459.
Principio de codificación 5: Denegación predeterminada 460
Principio de codificación 6: Adherirse al principio de privilegio mínimo 462
Principio de codificación 7: Purificar los datos enviados a otros sistemas 463
Principio de codificación 8-Defensa profunda 464
Principio de codificación 9-Utilizar técnicas efectivas de control de calidad 464
Principio de codificación 10-Adoptar prácticas de codificación segura 465.
Comentarios de los medios
Este es un "producto duro" con algunos profesores de ingeniería geniales y temperamento humanista. Como experto en literatura y arte de TI, me gusta especialmente este libro práctico sobre seguridad de la información, que es reflexivo pero rico en casos. Sin embargo, en el pasado, a menudo solo lo leían autores extranjeros. Como dice la introducción al principio del libro: "Si lo tienes en casa, hay un tesoro". Así que hoy, cuando la seguridad de la red se está volviendo cada vez más popular, ¿te convertirás en un experto legendario después de leer este libro?
——Wan Tao, cofundador del Centro de Innovación Social Yiyun (Internet pública) del Laboratorio de Defensa de Disuasión de las FDI en Hackhawk.
Con el rápido desarrollo de Internet, los sistemas empresariales basados en la arquitectura B/S tienen requisitos de seguridad cada vez más altos y los profesionales de la seguridad se enfrentan a una presión sin precedentes. ¿Cómo permitir que los profesionales de la seguridad dominen rápidamente la seguridad de las aplicaciones web? Este libro utiliza un lenguaje humorístico y ricos ejemplos para ayudar a los profesionales de la seguridad a comprender la seguridad de las aplicaciones web de principio a fin. Es el mejor libro sobre seguridad de aplicaciones web de los últimos años.
—— RIP, consultor senior de seguridad de SecZone, presidente de OWASP China.
Estoy muy feliz de ver a alguien publicar su acumulación de seguridad senior y las mejores prácticas de OWASP en un libro, que es riguroso y detallado pero vívido. Este manual práctico en el campo de la seguridad de la información se convertirá en uno de los libros de referencia y guía dedicados a la seguridad en Internet, y nuestros clientes de telecomunicaciones, banca, seguros, valores, departamentos gubernamentales, etc. se beneficiarán de él.
——Kulao, director de tecnología de Shanghai Yinji Information Security Technology Co., Ltd.
Con la promoción y aplicación de la estrategia de control de acceso de seguridad ACL, los riesgos de seguridad que enfrentan Las empresas de Internet se concentran principalmente en la capa de servicios web. Entre ellos, el sistema de aplicaciones web es el escenario principal donde se introducen vulnerabilidades y riesgos de seguridad durante los procesos de diseño, desarrollo y codificación de la arquitectura. Sin embargo, en general, nuestros puestos de arquitectura, desarrollo y pruebas carecen relativamente de habilidades y conciencia de seguridad. Este libro presenta en detalle los conocimientos básicos de seguridad web, plataformas y métodos de prueba, las formas y principios de vulnerabilidades comunes y proporciona sugerencias de prevención, principios de diseño y codificación basados en la experiencia de las mejores prácticas de OWASP. Los ejemplos del libro son vívidos, con imágenes y textos, y los pasos están claramente resumidos. Especialmente recomendado para amigos en puestos de seguridad, pruebas y desarrollo web.
——Cheng Chong, jefe de seguridad de la información de China Kingsoft Software Group
A medida que los ataques a la red se vuelven cada vez más complejos, los ataques web siguen siendo la primera opción para la mayoría de los atacantes. Al reflexionar sobre el incidente de fuga de CSDN y el incidente del gusano Sina Weibo, la seguridad de las aplicaciones web destaca su importancia. Como equipo de investigación de seguridad de aplicaciones web líder en el mundo, OWASP ha llevado a cabo discusiones e investigaciones detalladas sobre amenazas, defensas y herramientas relacionadas a la seguridad de aplicaciones web a través de este libro. Los pasos de operación detallados son lo más destacado de este libro. Estos contenidos detallados e ilustrados brindan una gran ayuda para un aprendizaje gradual y profundo de la seguridad de las aplicaciones web. Espero sinceramente que este libro pueda convertirse en una guía de estudio para estudiantes de seguridad de la información y profesionales relacionados con la seguridad de aplicaciones.
——CISSP·CISA, Escuela de Ingeniería de Seguridad de la Información, Universidad Jiao Tong de Shanghai