Inyección de SQL - Encuentre la plataforma SQL

3

¿Hay alguna consulta que pueda usar para saber qué plataforma SQL está usando un sitio web? (Oracle - MySQL - MSSQL - PostgreSQL - Ingres ....)

    
pregunta Amat Erasu 19.07.2015 - 22:31
fuente

3 respuestas

7

Utilice la hoja de referencia de inyección de SQL . La mayoría de las bases de datos tienen una forma de consultar la versión, p. Ej. %código%. Si ya ha encontrado un punto inyectable que devuelve datos, pruebe un par de ellos hasta que recupere los datos.

metodología de ejemplo:

SELECT @@version # fails. Then you know it is not MS SQL or MySQL.
SELECT version() # fails. You know it is not PostGres
SELECT banner FROM v$version WHERE banner LIKE ‘Oracle%’; # Succeeds! You know it is oracle.

Si esos fallan usan otros tipos de consultas. Puedes probar las inyecciones de base cronometradas, p. Ej. SELECT @@version , o incluso ejecutando funciones como SLEEP 10 . El uso de la sintaxis específica de la versión te permitirá encontrar rápidamente la base de datos backend.

También puedes comenzar con algunas conjeturas educadas. Las aplicaciones web de Java a menudo usan Oracle. .Net a menudo utiliza MS SQL. PHP a menudo utiliza MySQL. Django utiliza a menudo Postgres. Solo intente consultas específicas hasta que obtenga la consulta para ejecutar correctamente.

SQLMap también puede ayudar a detectar huellas digitales en la base de datos de back-end. Sugiero una combinación de usar sqlmap + manual testing.

    
respondido por el KDEx 19.07.2015 - 22:39
fuente
0
SELECT @@VERSION

debería ser suficiente.

    
respondido por el Sebi 19.07.2015 - 22:40
fuente
0

Puede probar tanto manualmente como con herramientas. Para el análisis manual, primero determine el lugar donde existe la inyección de SQL en el sitio web.

Para buscar inserción de inyección sql 'o "en la URL de la página web solicitada si devuelve un mensaje error , el sitio y el parámetro son vulnerables a la inyección SQL.

También puede determinar la plataforma en la que se construye el sitio web utilizando el mensaje de error. Por ejemplo, puede visitar altoro mutual e iniciar sesión como Nombre de usuario y Contraseña como administrador e inserte los campos 'en después de y antes de en la URL especificada, puede ver que el mensaje de error muestra los detalles sobre la base de datos en la que está construida.

De lo contrario, en otros sitios web use la versión SELECT @@ en la URL donde es posible la inyección de SQL en ese sitio web.

Como dijo Morgoroth para las pruebas manuales, puede utilizar el sqmap

    
respondido por el Bhuvanesh 20.07.2015 - 08:02
fuente

Lea otras preguntas en las etiquetas