Vulnerabilidades comunes y métodos de defensa de ataque y defensa de seguridad web

1 SSRF

El motivo de la vulnerabilidad SSRF: el servidor proporciona la función de obtener datos de otros servidores y no filtra ni restringe direcciones y protocolos. Por ejemplo: easy_scrapy de ByteCTF en octubre de 2020.

Este tipo de vulnerabilidad también es muy común en CTF y puede usarse para atacar aplicaciones en la intranet, como: Redis, discuz7, fastcgi, memcache, webdav, struts, jboss, axis2 y otras aplicaciones.

Método de defensa:

  • Restringir el puerto solicitado solo puede ser el puerto web
  • Restringir la IP que no puede acceder a la intranet (IPTable)
  • Bloquear contenido devuelto

Articulo de referencia:

  1. Análisis sobre el principio y uso de la SSRF: https://www.anquanke.com/post/id/145519

2 Carga de archivo

El motivo de la vulnerabilidad de carga de archivos: la ruta y el tipo de archivo de carga de archivos no están restringidos, por lo que el archivo cargado se puede ejecutar como código.

Cómo omitir la carga de archivos:

  1. Bypass de detección de JS
  2. Omisión de sufijo de archivo
  3. Omisión de tipo de archivo (Contenido-Tipo de paquete HTTP)
  4. Condiciones de carrera (cree otro archivo antes de eliminar el archivo)

Camino de defensa

  • Lista blanca para determinar si el sufijo del archivo es legal (la lista negra es fácil de filtrar de forma incompleta)
  • Cambie el nombre del archivo cargado.

3 Agrietamiento por fuerza bruta

Razones para el descifrado por fuerza bruta: el servidor no tiene restricciones de acceso y el atacante puede probar uno por uno (contraseña débil).

Métodos comunes de fuerza bruta:

  • No hay límite para la cantidad de nombres de usuario y contraseñas incorrectos (puede usar la fuerza bruta a voluntad)
  • Limitación en el número de veces que la contraseña de un usuario es incorrecta en un solo período de tiempo (por ejemplo: bloquear QQ. Solo el número de veces que la contraseña de un solo usuario es limitada, puede considerar cambiar el nombre de usuario y descifrar por fuerza bruta, solo se requiere lista de usuarios)
  • Límite en la cantidad de errores de inicio de sesión de IP en un solo período de tiempo (omisión de grupo de IP)

La clave para el craqueo por fuerza bruta se encuentra en el diccionario. Si desea aumentar la tasa de éxito del craqueo por fuerza bruta, debe limitar el alcance del craqueo (por ejemplo: obtenga la lista de números de estudiantes y luego use la contraseña predeterminada Si la contraseña es un cumpleaños, la generación del diccionario debe ser coherente con el rango de fechas).

Método de defensa:

  • Utilice un código de verificación de nivel superior
  • Utilice la autenticación multifactor
  • Si el número de inicios de sesión del usuario supera el umbral establecido, la cuenta se bloqueará.
  • Si el número de inicios de sesión para una única IP supera el umbral establecido, la IP se bloquea.

4 Ejecución de comandos

Razones para la ejecución del comando: similar a la inyección SQL y las vulnerabilidades XSS, el texto se ejecuta como código.

Método de defensa:

  • Trate de no usar funciones de ejecución de comandos directas, puede considerar buscar paquetes encapsulados para usar.
  • Filtrar antes de ejecutar la función.

5 XXE vulnerabilidad

Razones de las vulnerabilidades XXE: similar a la inyección SQL, las vulnerabilidades XSS y la ejecución de comandos, el texto se ejecuta como código (¿por qué se puede ejecutar el código? Se pueden introducir entidades externas cuando se importa el archivo XML).

Existen muchos daños de las vulnerabilidades XXE, como la lectura de archivos, la ejecución de comandos, el escaneo de puertos de la intranet, el ataque a sitios web de la intranet y el lanzamiento de ataques DOS.

Método de defensa

  • Sin referencias a entidades externas
  • Filtrar datos en XML

Supongo que te gusta

Origin blog.csdn.net/qq_43085611/article/details/113250780
Recomendado
Clasificación