Red de conocimiento informático - Conocimiento sistemático - ¿Se pueden crear lagunas jurídicas a voluntad?

¿Se pueden crear lagunas jurídicas a voluntad?

Hoy descubrí una vulnerabilidad de inicio de sesión de usuario arbitrario durante las pruebas. Registrémoslo brevemente (em... ¡es realmente simple!)

La solicitud después de iniciar sesión exitosamente incluye el nombre de usuario y el ID de usuario del usuario actualmente conectado:

Seguido por el paquete de datos La información confidencial es la siguiente:

Se puede ver que la información devuelta contiene la contraseña MD5 del usuario actual, que se puede descifrar normalmente. Reemplazar con otra ID de usuario:

Puedes ver que se devuelven las contraseñas de otros ID de usuario. Pero, en general, el user_id de un usuario solo se puede obtener después de iniciar sesión exitosamente en la cuenta de otro usuario. Por lo tanto, si desea iniciar sesión en la cuenta de otro usuario, debe conocer el nombre de usuario correspondiente al valor de user_id... Dado que el sistema tendrá un paquete de datos que devuelve la contraseña, es posible que se devuelva otra información confidencial en el paquete de datos. Entonces abres el historial de Burp y buscas user_id en la parte inferior.

Al iniciar sesión con el nombre de usuario, la solicitud devuelve información que contiene el user_id correspondiente al nombre de usuario:

Obtener la contraseña a través del id:

Atravesar continuamente el El nombre de usuario puede obtener más información. Para múltiples ID de usuario, se pueden obtener más contraseñas de usuario MD5 a través de la solicitud anterior. Cualquier usuario puede iniciar sesión a través del nombre de usuario y la contraseña descifrados:

Resumen del tipo de minería de vulnerabilidades

<. p> Si eres un novato que acaba de aprender los conceptos básicos, si no has participado en varias capacitaciones, entonces estudia completamente por tu cuenta.

Entonces tu lista de vulnerabilidades podría verse así.

Vulnerabilidad de fuerza bruta

Vulnerabilidad de inyección SQL

Vulnerabilidad de ejecución de comandos

Vulnerabilidad Xss (secuencias de comandos entre sitios)

Vulnerabilidad Csrf (falsificación de solicitudes entre sitios)

Vulnerabilidad Xxe

Vulnerabilidad de carga de archivos

Este archivo contiene una vulnerabilidad.

Abrir vulnerabilidades en cms

Sí, eso es todo. Por supuesto, puede haber algunos métodos de escritura inútiles, que varían de persona a persona.

Si tienes la suerte de ver la lista de vulnerabilidades de un gran jefe. Entonces ¿es posible que además de lo anterior, también existan los siguientes? Vulnerabilidad lógica

Vulnerabilidad Ssrf

Divulgación de información

Posible acceso no autorizado a archivos js

Vulnerabilidad integral

. ..

Sin embargo, esto es sólo una parte. No soy un gran jefe, pero doy la bienvenida a los grandes jefes para que lo compensen. Permítanme hablar sobre los tipos de lagunas que agregué.

3. Descripción detallada de los tipos de vulnerabilidad

Insertar una antes del inicio oficial. Antes hubo un malentendido sobre la definición de vulnerabilidad. Pensé que solo las vulnerabilidades enumeradas anteriormente son vulnerabilidades, de hecho, no lo son, siempre que puedan causar pérdidas a los fabricantes. La falla lógica también se basa en este artículo. Al recordar mi proceso de excavación, en realidad me perdí muchas cosas.

Vulnerabilidades lógicas

Las vulnerabilidades lógicas también son un tema persistente, pero a diferencia de las vulnerabilidades anteriores, las vulnerabilidades lógicas pueden ser escaneadas por escáneres. Hasta donde yo sé, ningún escáner puede afirmar que puede buscar vulnerabilidades lógicas. Quizás algunos fabricantes se atrevan a decir que no tienen inyección SQL, pero nadie se atreve a decir que no tienen lagunas lógicas (no creo que ningún fabricante se atreva a decir que no tienen inyección SQL, jajaja). Además, debido a la mejora gradual de WAF y firewalls, vulnerabilidades como la inyección y carga de SQL se están volviendo cada vez más difíciles de descubrir y explotar, mientras que las vulnerabilidades lógicas no existen.

¿Qué es una vulnerabilidad lógica? Es una serie de vulnerabilidades que pueden ser explotadas maliciosamente por atacantes debido a una lógica de código laxa durante el proceso de desarrollo. Las lagunas lógicas también son un término general para un tipo de lagunas.

Por ejemplo, los más comunes son lagunas en el pago para comprar cualquier cosa a cualquier precio a bajo precio, o el proceso de recuperación de contraseña no está estrictamente controlado, lo que resulta en la modificación de la contraseña de inicio de sesión de cualquier usuario y la visualización no autorizada. de pedidos de otras personas y visualización no autorizada de información personal de otros, etc.

Por supuesto, esto es sólo una parte y solo estoy dando una introducción. Para conocer el principio y la introducción de vulnerabilidades específicas, puede buscar palabras clave usted mismo.

Los artículos con muchos jefes son más fáciles de escribir; de lo contrario, habría escrito decenas de páginas de este artículo. Para obtener detalles sobre algunas vulnerabilidades, consulte Nubes oscuras.

Divulgación de información

Como sugiere el nombre, las vulnerabilidades de fuga de información son fugas de información. Hay muchos tipos de fugas de información, como.

Para filtraciones de código fuente, puedes ir a github para encontrarlas. Muchos programadores revelarán el código fuente en github y algunos ni siquiera cambian su nombre de usuario y contraseña. La contraseña de conexión a la base de datos existe directamente en el código fuente. Por supuesto, creo que si un novato como yo descubre que este código fuente se ha filtrado, lo enviará directamente. El jefe capaz es solo una ola de revisión, y luego jaja, ja, ja, ja. Para la fuga de información de los empleados, el número de cuenta se puede recopilar al recopilar información y luego colocarlo en la base de datos de ingeniería social para su operación, o el número de cuenta se puede registrar para su voladura.

Vulnerabilidad integral

La vulnerabilidad combinada es algo mágico que puede convertir vulnerabilidades de bajo riesgo en vulnerabilidades de alto riesgo. Por ejemplo, si encuentra una vulnerabilidad XSS y una vulnerabilidad CSRF, si se envían por separado, pueden ser dos vulnerabilidades de bajo riesgo o pueden ser dos vulnerabilidades ignoradas. Pero si combina xss y csrf, puede convertirse en una vulnerabilidad de alto riesgo. Si se trata de un golpe combinado, el golpe combinado de Master Key será muy cruel. Sigue el ejemplo del maestro. Master Key me dijo que si encuentra una mina de bajo riesgo, no se apresure a enviarla, ahorre dinero. Por si algún día te encuentras con otra vulnerabilidad, combínala y quedarás enganchado.

Un pequeño consejo, si quieres una lista detallada de vulnerabilidades, puedes recopilar más manuales de vulnerabilidades src y luego copiarlos para crear una lista perfecta de vulnerabilidades.

4. Métodos personales para mejorar las capacidades de minería de vulnerabilidades

Esta sección habla sobre cómo mejorar y qué buenos hábitos debes tener al cavar agujeros.

La precaución es lo primero porque es muy, muy importante. He tenido la suerte de aprender los secretos del éxito de muchas personas maravillosas. La primera palabra que me dijeron fue que tuviera cuidado, las llamadas reglas de precaución al explorar el mundo. Muchas vulnerabilidades deben descubrirse con cuidado, sin perder ningún parámetro en el paquete de datos ni ningún punto del sitio web. Una vez le pregunté al Maestro Xiaoshi del equipo, ¿cómo excavar src que mucha gente ha extraído? A mucha gente le gustó, así que tuve que probar algunas funciones más. El Maestro Xiaoshi no me respondió directamente, pero me contó sobre su experiencia cavando lagunas. Fue entonces cuando estaba cazando furtivamente a Meituan. El Maestro Xiaoshi comenzó a investigar directamente desde el sitio web principal y descubrió una vulnerabilidad de alto riesgo para almacenar XSS en un lugar obvio con datos personales. Por lo tanto, cuando estamos cavando un hoyo, no debemos ceder ningún lugar donde pueda haber un hoyo. Cada uno cava hoyos de forma diferente. Para un sitio web tan grande, siempre faltan algunas cosas y se ha solucionado una vulnerabilidad. ¿Quién puede garantizar que una vez finalizada la reparación no se reparará otro agujero?

Paciencia

Paciencia y cuidado son lo mismo, se puede decir que son un par de CP. Si tienes la suficiente confianza, creo que tu paciencia no será mala. Si el cuidado es tu espada para cavar hoyos, entonces la paciencia es tu piedra de afilar. Muchas veces, cuando te encuentras con un sitio web roto, puedes cavar un hoyo después de mirarlo durante unos días. Si persistes, serás el ganador. Algunas personas dicen que cavar hoyos también es un trabajo con suerte. Con un poco de suerte, habrá mucho en juego. Desafortunadamente, no pude encontrar uno a los pocos días. Aunque hay cierta verdad, cuando eres lo suficientemente fuerte y tienes tu propia rutina, cavar hoyos es muy fácil y divertido.

Capacidad de leer y memorizar.

Capacidad de leer y memorizar. Esto es muy simple, simplemente lea más y memorice más, lea más detalles de vulnerabilidades y artículos técnicos. Los detalles de la vulnerabilidad se pueden ver en Dark Clouds, y hay muchos casos compartidos por personas en Internet, principalmente Dark Clouds. Después de leer esto, recuerde hacer que lo que vea realmente le pertenezca. Si todavía se siente perdido cuando se enfrenta a un fabricante, vaya a Wuyun y observe los detalles de las vulnerabilidades una por una, y luego compare la ubicación de las mismas. vulnerabilidad y algunas habilidades pasadas Escríbalo y conviértase en su propio manual de búsqueda de vulnerabilidades, que es lo que he estado haciendo últimamente. Hay algunos buenos artículos y técnicas que quizás no uses por un tiempo, pero debes aprender a recordarlos y los usarás algún día.

Sepa cómo recolectar

Master Key dijo que la minería de vulnerabilidades es un proceso de fusificación, y la clave para la fusificación es un diccionario eficiente. Sí, deberíamos aprender a coleccionar diccionarios.

El diccionario que queremos hacer público es fuzzdb, que es una muy buena colección de diccionarios difusos. Por supuesto, cuando recopilamos los diccionarios de otras personas, también debemos recopilar los nuestros. Una vez conocimos a un gran jefe que recopiló una gran cantidad de proyectos de desarrollo de github y luego formó un diccionario. No pedí a los novatos que escribieran programas y luego recopilaran diccionarios automáticamente. Pero en el proceso habitual de minería de vulnerabilidades, todavía necesitamos recopilar muchas cosas y formar gradualmente nuestro propio diccionario especial, que definitivamente puede mejorar la eficiencia de la minería de vulnerabilidades. Cuando tienes un diccionario en tu propia colección, creo que te has convertido en un pez gordo.

Trabaja con diligencia

Cuando has observado muchas lagunas y has tomado muchas notas, en este momento, creo que lo que más necesitas es un combate real. La práctica práctica es la forma más rápida de integrar lo aprendido. Nadie. Sólo el combate real puede entrenar tu capacidad y eficiencia minera. Ver nuevas vulnerabilidades también mejora la reproducibilidad del entorno de construcción.

?