Ideas de minería de vulnerabilidades Vulnerabilidades lógicas relacionadas con códigos de verificación de SMS

Ideas de minería de vulnerabilidades: vulnerabilidades lógicas relacionadas con códigos de verificación por SMS

En este artículo, puede conocer las lagunas lógicas relacionadas con los códigos de verificación de SMS e introducir algunas técnicas de minería para las lagunas lógicas, que algunos peces gordos de Internet resumieron para que los lectores puedan profundizar más en las lagunas empresariales de SRC. pensamiento.

Puede marcar este artículo como favorito e intentar corresponder a las técnicas de minería de este artículo una por una al extraer vulnerabilidades lógicas del código de verificación de SMS.

Descripción general de la vulnerabilidad

En la minería de vulnerabilidades, a menudo nos encontramos con sitios web con funciones de códigos de verificación, como iniciar sesión, registrarse, recuperar contraseñas, recibir cupones, modificar información, etc., casi todos los cuales se utilizan para obtener códigos de verificación, y los códigos de verificación generalmente son 4 dígitos Muchas de las siguientes técnicas tienen como objetivo aumentar la tasa de éxito en la presentación de auditorías de vulnerabilidad SRC corporativas.

En cuanto a la vulnerabilidad del código de verificación, generalmente es la siguiente:

1. Explosión del código de verificación
2. Repetición del código de verificación
3. El código de verificación no está vinculado a la relación de autenticación con el teléfono móvil
4. Modificar el paquete de devolución para omitir el código de verificación
5. Reenviar el código de verificación
6. Iniciar sesión con cualquier verificación código
7. Iniciar sesión con un código de verificación vacío
8, inicio de sesión con código de verificación fijo
9, bombardeo de código de verificación

Vulnerabilidades lógicas detalladas

Explosión de código de verificación

**Principio de vulnerabilidad:** Para algunas funciones del código de verificación, el servidor no limita el tiempo ni los tiempos, por lo que existe la posibilidad de explosión. Los sistemas simples tienen la posibilidad de voladura directa, pero los sistemas que han sido protegidos aún tienen que pasar por algunos bypass para volar, el código de verificación general es de 4 o 6 dígitos.

Para el código de verificación digital puro de 4 dígitos: de 0000 a 9999, hay 10,000 casos y el BP se puede ejecutar por completo en 5 minutos, lo que está en línea con el tiempo del código de verificación general.

Para el código de verificación digital puro de 6 dígitos: de 000000 a 999999, hay 1.000.000 de casos y BP no se puede finalizar en 5 minutos, por lo que se requiere voladura de segmentos

operación de excavación

Encuentra el lugar con el código de verificación para capturar el paquete, envíalo al módulo de explosión y usa el modo francotirador para disparar.

Explosión de código de verificación de 4 dígitos

imagen-20230808171552379

Explosión de código de verificación de 6 dígitos

Dado que el volumen de voladura del código de verificación de 6 dígitos es demasiado grande, la voladura no se puede completar en 5 minutos, por lo que necesitamos usar voladuras segmentadas. Para decirlo sin rodeos, las voladuras segmentadas en realidad son para engañar a los auditores. Podemos usar nuestro propio número de teléfono móvil, envíe el código de verificación y después de recibir el código de verificación, supongamos que el código de verificación que recibí es 485625, entonces puedo establecer un rango más pequeño cuando uso la voladura BP, por ejemplo, de 480000-489999, este rango es solo 10000 En el caso intermedio, se puede explotar en 5 minutos, y luego se puede tomar una captura de pantalla para presentar la vulnerabilidad, lo que probablemente engañe al auditor, incluso si se rechaza, aún se puede probar la teoría.

imagen-20230808172618860

habilidades de excavación

  1. Generalmente, no existen lagunas jurídicas en las que los activos se puedan buscar fácilmente.
  2. Encuentre algunas páginas ocultas, como subprogramas, aplicaciones u otras páginas detalladas. Por ejemplo, cada festival, muchas aplicaciones, subprogramas, etc. tendrán nuevas actividades y luego aparecerán en forma de anuncios. Estos pueden ser temporales. funciones, y O ingrese el código de verificación para recibir el paquete de regalo o algo así, es más probable que haya una laguna jurídica
  3. Para el código de verificación de 6 dígitos, puede utilizar el método de descifrado segmentado

Eco del código de verificación

** Principio de vulnerabilidad: ** El eco del código de verificación significa que el código de verificación se almacenará en el paquete de datos cuando se envíe, y el código de verificación se puede encontrar observando los datos en el paquete de datos repetido.

Caso de vulnerabilidad

1. El código de verificación existe en el paquete de datos devuelto.

imagen-20230808173904837

2. El código de verificación existe en el paquete de devolución, pero está cifrado

imagen-20230808174036623

Puedes intentar descifrar:

imagen-20230808174123166

3. También puede estar el encabezado del paquete de datos devuelto.

imagen-20230808174233027

operación de excavación

1. Abra el lugar donde existe el código de verificación, ingrese el número de teléfono móvil, haga clic para enviar el código de verificación y luego capture el paquete.

2. Configure para interceptar el paquete de respuesta, envíe el paquete de datos al repetidor para realizar pruebas y observe si el paquete de datos contiene información del código de verificación relevante.

imagen-20230808174541740

3. Después de hacer clic en enviar, el paquete de respuesta se intercepta y luego se analiza el paquete de respuesta. Algunos datos se cifran y existe cierta información en el encabezado del paquete de datos, como en la cookie.

imagen-20230808174622954

habilidades de excavación

  1. Generalmente, los lugares donde los activos son fáciles de buscar no tienen esta vulnerabilidad.
  2. Encuentre algunas páginas ocultas, como aplicaciones, subprogramas u otras páginas detalladas
  3. Observe con más atención el paquete de datos devuelto, observe atentamente el encabezado del paquete de datos, así como los datos y otra información.

El código de autenticación no está vinculado al teléfono móvil.

** Principio de vulnerabilidad: ** El backend solo verificó el código de verificación y no vinculó el número de teléfono móvil con el código de verificación.

Operación de excavación:

Solo necesita preparar dos o más números de teléfono móvil, encontrar el lugar para recuperar la contraseña o el lugar para iniciar sesión, y la función de la interfaz es similar a la siguiente:

imagen-20230816200508209

Complete su propio número de teléfono móvil, después de obtener el código de verificación, use otro número de teléfono móvil para iniciar sesión

habilidades de excavación

  1. Intente reemplazarlo con un número de teléfono diferente
  2. Pensamiento divergente, buscando diferentes puntos funcionales para realizar pruebas.

Modifique el paquete de devolución para omitir el código de verificación

**Principio de vulnerabilidad:** Algunos sitios web se autentican mediante paquetes de devolución. Por ejemplo, el front-end juzgará si el resultado de la respuesta es verdadero o falso, 0 o 1. Si es verdadero o 1, la autenticación es exitosa, por lo que nosotros El código de verificación se puede omitir modificando algunas palabras confidenciales (resultado, código, error, etc.) en el paquete devuelto.

operación de excavación

Simplemente complete un código de verificación y use BP para capturar el paquete, luego intercepte el paquete de respuesta, verifique cuidadosamente el valor del paquete de respuesta e intente modificarlo si hay algunas palabras confidenciales.

habilidades de excavación

  1. Es adecuado para activos que no son fáciles de buscar, probar más, observar más y tener una mayor tasa de éxito en la búsqueda de sitios web impopulares.
  2. Vea que 0 se cambia a 1, o -1, o el número positivo es infinitamente grande (9999...) y el número negativo es infinitamente pequeño (-9999...)
  3. cambiar falso a verdadero
  4. 500 a 200
  5. el cambio no llega al éxito

Reenvío de código de verificación

**Principio de vulnerabilidad:** Algunos desarrolladores utilizarán una matriz para recibir números de teléfonos móviles y luego enviarán códigos de verificación a los números de teléfonos móviles juntos. En este momento, los códigos de verificación correspondientes a los dos números de teléfonos móviles son los mismos, por lo que podemos ingresar dos números de teléfono móvil, uno de ellos es propio y el otro es de otra persona, el código de verificación que recibe es el mismo que el de los demás, para lograr el propósito de robar el código de verificación.

Caso de vulnerabilidad

imagen-20230816203009764

Se puede encontrar que los códigos de verificación recibidos por los dos teléfonos móviles son los mismos, por lo que si ingresamos un número de teléfono móvil propio y un número de teléfono móvil de un administrador, luego de recibir el código de verificación, equivale a recibir el código de verificación del administrador

imagen-20230816202815434

operación de excavación

Active BP para capturar paquetes, luego ingrese el número de teléfono móvil, haga clic en Enviar código de verificación para interceptar, envíe la solicitud al repetidor, intente modificar varios números de teléfono móvil y luego envíelo y observe si su teléfono móvil recibe la verificación. código.

habilidades de excavación

Bypass de doble escritura:

Por ejemplo, la forma del número de teléfono móvil enviado por el front-end es teléfono=122222, podemos cambiarlo en el paquete de solicitud de esta manera: teléfono=12222 1333 o teléfono=1222,1333 o teléfono=1222&&teléfono=13333

Generalmente es una solicitud de obtención, en este momento puedes intentar escribir dos líneas directamente:

phone=12222
phone=13333

Cualquier código de verificación de inicio de sesión

**Principio de vulnerabilidad:** Algunos sitios web o aplicaciones, pequeños programas tienen funciones de código de verificación, pero son falsos, solo envían códigos de verificación y no escriben lógica comercial para la verificación. Generalmente, es más común en sistemas recién lanzados. Porque algunos desarrolladores solo para facilitar la prueba, anotan el código de verificación, lo que resulta en cualquier inicio de sesión con código de verificación.

operación de excavación

Complete el número de teléfono móvil para enviar el código de verificación, ingrese un código de verificación a voluntad para iniciar sesión

habilidades de excavación

Encuentre algunas aplicaciones, programas pequeños, empresas recién lanzadas o empresas de prueba donde pueda haber lagunas

El código de verificación está vacío para iniciar sesión.

Principio de vulnerabilidad: el código de verificación está vacío para iniciar sesión. Cuando el código de verificación se recibe en segundo plano, el código de verificación no se filtra y se puede omitir el valor nulo.

operación de excavación

Haga clic normalmente para enviar el código de verificación, luego haga clic en iniciar sesión u otras funciones para capturar e interceptar la solicitud, y luego intente modificar el valor correspondiente del código de verificación, que se puede cambiar a nulo, -1, verdadero,

Matriz vacía, etc., o si lleva una cookie, elimine el campo de la cookie e intente

habilidades de excavación

El siguiente ejemplo se puede utilizar para modificar el valor del código de verificación:

  1. nulo
  2. -1
  3. -999999
  4. 1.1
  5. []
  6. verdadero
  7. éxito
  8. nulo
  9. o eliminar el campo de cookies

Pruébalo.

Inicio de sesión con código de verificación fijo

** Principio de vulnerabilidad: ** Algunos desarrolladores utilizan códigos de verificación fijos para la verificación para facilitar las pruebas.

habilidades de excavación

Puede probar algunos códigos de verificación de entrada simples, como: 123, 1234, 0000, 8888, 123456, 6666, 9999, etc.

Puedes crear un diccionario de códigos de verificación simple para voladuras.

Estos códigos de verificación fijos generalmente aparecen en dispositivos, dispositivos de hardware

O un sistema que acaba de ser lanzado, o un negocio de prueba.

Bombardeo de SMS

Principio de vulnerabilidad

En algunos lugares de verificación de identidad, a veces es necesario ingresar el número de teléfono móvil y aceptar el código de verificación, como inicio de sesión, olvidé mi contraseña, registro, vinculación, recopilación de actividades, lugar
de comentarios , puede llegar a los 5 segundos Enviar 10 mensajes de texto, o incluso más mensajes de texto, afectará el negocio. Esta es la vulnerabilidad del bombardeo de SMS
. 2. Bombardeo vertical : bombardear un número de teléfono móvil varias veces

Sin embargo, esta laguna jurídica paga menos dinero porque tiene poco impacto en el negocio. Acepta principalmente lagunas de bombardeo vertical y depende horizontalmente del auditor. Enviar frenéticamente mensajes de texto a diferentes números de teléfonos móviles también puede considerarse una laguna jurídica, porque cada vez la empresa envía mensajes de texto, todos los cuales cuestan dinero. Dígale al auditor que esta vulnerabilidad es muy grave. Si él dice que no es grave, entonces intentaré enviar 1 millón de mensajes. Si no es grave, enviaré otro 1 millones de mensajes Para ver si es serio, también está bien asustar a los auditores. (Por supuesto, no tanto como el cabello real, lo cual es ilegal)

operación de excavación

Abra el lugar donde se requiere el código de verificación, ingrese el número de teléfono móvil, luego abra BP para interceptar, haga clic en Enviar código de verificación, envíe el paquete de solicitud interceptado al repetidor y luego omítalo de acuerdo con las siguientes técnicas

habilidades de excavación

1. Utilice espacios para evitar el límite de cantidad de mensajes de texto.

Al agregar un espacio delante del valor del parámetro, o agregarlo después, o varios espacios, para evitar el límite en la cantidad de veces de envío en un día, móvil = 1222335, agregue un espacio al frente y podrá enviarlo nuevamente
. exitosamente.

imagen-20230817202957569

2. Modifique el valor de la cookie para evitar los tiempos de SMS

La cantidad de veces que se envían algunos mensajes de texto se juzga en función del valor de la cookie. Si se utiliza el valor de la cookie actual para verificar la cantidad de veces que se envían, es fácil omitirlo.

Por lo tanto, puede intentar modificar el valor de la cookie varias veces o incluso eliminar la cookie para omitirla.

imagen-20230817203152643

3. Evite las restricciones de SMS mediante el uso de marcadores de interfaz

El envío de verificación por SMS puede establecer diferentes valores de parámetros para determinar qué tipo de función está realizando la API. Por ejemplo, tipo=1 es para registrarse, tipo=2 es para olvidar la contraseña
, tipo=3 es para cambiar la contraseña, etc. Podemos evitar el límite de envío solo una vez por minuto modificando el valor del parámetro para lograr el propósito del bombardeo de SMS.

Como se muestra en la figura siguiente, puede modificar el valor del parámetro. Por supuesto, algunos nombres de parámetros son diferentes, como smsType, apiType, etc. El programador back-end implementará diferentes servicios de acuerdo con los diferentes nombres de parámetros pasados.

imagen-20230817204608481

4. Modificar IP para evitar SMS

Algunos códigos de verificación están restringidos al acceder a la IP del paquete de datos, como el parámetro del paquete X-Fordered-For, por lo que puede modificar la dirección IP detrás de X-Fordered-For (puede modificarla a 0 y otros valores)
. intentar) para evitar Pass.

Por supuesto, en el encabezado de la solicitud, también puedes modificar otros parámetros relacionados con la IP, como por ejemplo:

X-Remote-IP:localhost:443
X-Remote-IP:127.0.0.1
X-Remote-IP:127.0.0.1:80
X-Remote-IP:127.0.0.1:443
X-Remote-IP:127.0.0.1
X-Custom-IP-Authorization:localhost
X-Custom-IP-Authorization:localhost:80
X-Custom-IP-Authorization:localhost:443
X-Custom-IP-Authorization:127.0.0.1
X-Custom-IP-Authorization:127.0.0.1:80
X-Custom-IP-Authorization:127.0.0.1:443
X-Custom-IP-Authorization:2130706433

imagen-20230817205111668

5. Omisión de caracteres especiales

Se puede lograr una omisión agregando algunos caracteres especiales, como

%%% ### @@@ !! \r \n tab键 -- ***  () 等等

imagen-20230817205935772

6. Omisión de +86 o 086 (omisión de código de área)

Agregamos +86 o 086 al número de teléfono móvil en el paquete de datos para omitir

imagen-20230817210037572

7. Cambie el código de área para omitir

Cuando registramos algunos sitios web, a veces se mostrará la región y podemos omitirla modificando la región.

imagen-20230817210146291

8. Número de teléfono móvil de doble escritura

El backend del sitio web solo restringe los parámetros del número de teléfono móvil una vez, por lo tanto, escriba dos veces un parámetro de número de teléfono móvil y el otro parámetro de número de teléfono móvil omite la restricción y ingresa al backend. Después de ser reconocido, se enviará un mensaje de texto
.

Puede escribir dos veces varios nombres de parámetros

imagen-20230817211051368

También puede escribir dos veces el número de teléfono móvil con espacios o comas en el nombre de un parámetro.

imagen-20230817211110596

En la solicitud de publicación, el cuerpo de la solicitud también puede escribir dos líneas con el número de teléfono móvil para intentar omitir:

imagen-20230817211728890

Resumir

A través de la explicación detallada de las lagunas lógicas en la prueba de verificación por SMS anterior, creo que los lectores pueden darse cuenta plenamente de la importancia de la recopilación de información. Podemos imaginar, si solo tenemos 10 sitios web, es muy difícil encontrar esta vulnerabilidad relacionada con el código de verificación en 10 sitios web, entonces si tenemos 10,000 sitios web, la tasa de éxito es muy alta. Por lo tanto, para permitirle recopilar más activos, he resumido algunos métodos de recopilación de información. Si desea recopilar más activos, puede consultar mi artículo: Ideas para la recopilación de información: resumen de minería de vulnerabilidades .

Supongo que te gusta

Origin blog.csdn.net/weixin_46367450/article/details/132357037
Recomendado
Clasificación