Red de conocimiento informático - Problemas con los teléfonos móviles - Prevención y amenazas a la seguridad de aplicaciones web: directorio basado en OWASP Top 10 y ESAPI

Prevención y amenazas a la seguridad de aplicaciones web: directorio basado en OWASP Top 10 y ESAPI

Introducción del artículo 1

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 OWASP

Introducció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

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

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

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

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

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é

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

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