¿Cómo encuentran los atacantes la tecnología de base de datos utilizada por una aplicación web?

2

En estos días hay varias tecnologías de base de datos disponibles para el almacenamiento de datos.
Al realizar ataques de inyección, ¿cómo los atacantes realmente identifican la base de datos utilizada por un sitio web?
Si es posible por cualquier consulta o comando a través de cualquier punto de entrada de la aplicación, ¿alguien puede
explícame las instrucciones para identificar algunas de las principales bases de datos como MySQL y Oracle.

    
pregunta Anandu M Das 25.09.2014 - 09:26
fuente

3 respuestas

5

Hay tres formas comunes de lidiar con la variedad de bases de datos disponibles:

  1. Muchas aplicaciones web están vinculadas a un backend de base de datos específico, en lugar de poder usar una variedad de backends. Por ejemplo, si alguien está usando MediaWiki, sabes que está usando MySQL o MariaDB.

  2. Un atacante puede intentar generar una condición de error y luego mirar el mensaje de error resultante en busca de pistas sobre qué base de datos está en uso. Esta es una de las razones por las que los mensajes de error que se muestran al usuario final deben ser tan genéricos como sea posible.

  3. Un atacante puede simplemente intentarlo todo. No hay muchas bases de datos comunes en uso, y hacer una docena de intentos de ataque no es mucho más difícil que hacer una.

respondido por el Mark 25.09.2014 - 09:35
fuente
2

Aunque las bases de datos noSQL están en aumento, la gran mayoría de las aplicaciones web todavía utilizan algún tipo de base de datos SQL. Las características básicas de SQL están estandarizadas, por lo que muchas consultas SQL simples funcionan en cualquier base de datos SQL. Dudo que haya alguna base de datos que se llame a sí misma SQL y no comprenda password = '' OR '1'='1' . Así que en muchos casos ni siquiera es necesario saber qué base de datos está utilizando el objetivo, siempre que sea una base de datos SQL.

    
respondido por el Philipp 25.09.2014 - 18:35
fuente
1

bueno, depende de tantas cosas que estaré "incluyendo algunas".
1 aplicación web
la mayoría de los ataques web se basan en el escaneo, tomemos Wordpress como ejemplo
está intentando inyectar la base de datos de un sitio web basado en Wordpress ...
&erio; wordpress no es vulnerable a sql-I, pero tal vez los complementos sean vulnerables.
realiza una búsqueda de los complementos instalados en el sitio web de destino. Luego, instala Wordpress en el servidor local (para realizar pruebas) durante la instalación. Wordpress le pedirá que haga un usuario de SQL para la instalación de la base de datos de Wordpress.
empiezas a buscar una falla en los complementos (código fuente), estarás buscando las palabras de destino que pueden llevarte al tipo de vulnerabilidad.
después de eso, si tiene un exploit, puede conservarlo para sí mismo o publicarlo en bases de datos de exploits como Injector db (1337day.com) o Rapid7 db (exploit-db)

  

conclusión (descubrirá que el atacante sabe debido al código abierto) por lo que si está intentando crear una aplicación web solo para usted, no comparta sus fuentes

2 / el error
así que si el atacante está probando para sqlI en un sitio web objetivo & el objetivo está infectado
esta es una pagina

http://example.com/webpage.php?id=1

la prueba es así

http://example.com/webpage.php?id=1'

encontrará en el encabezado de la página un error de sql (si el sitio web es vulgar), incluida la palabra mysql, lo que significa que la aplicación web está ejecutando un servidor MySQL

obtendrá una falla de SQL

hay tantas bases de datos basadas en sql & puede ser inyectado

si está buscando la buena base de datos, puede probar mongodb

está disponible con php si está interesado, consulte esta aplicación web de blog basada en php & mongodb: enlace

(wordpress fue solo un ejemplo para db sql)

    
respondido por el 0b01001101 Two Times 25.09.2014 - 10:38
fuente

Lea otras preguntas en las etiquetas