Combate real de inyección ciega booleana de MySQL (3 minutos para comprender la idea de inyección ciega)

Directorio de artículos

Booleano ciego

Tarea: sqli_labs_08, inyección ciega booleana, obtener el nombre de la base de datos

1. Utilice comillas simples y dobles para juzgar el tipo de carácter, luego observe si hay eco y descubra que no hay eco, pero hay otros cambios en la página.

2. Por lo tanto, la inyección ciega se puede utilizar para juzgar si nuestra conjetura ciega es correcta mediante booleano.

http://localhost/sqli_labs/Less-8/?id=5' and 1=2 --+

imagen-20230823165118696

adivinanzas a ciegas

Adivina la longitud de la base de datos

Utilice la función length () para adivinar a ciegas la longitud de la base de datos y luego utilice el eco para juzgar si la suposición es correcta.

http://localhost/sqli_labs/Less-8/?id=5' and length(database())>8 --+

Adivina el nombre de la base de datos

猜第一个字母:
http://localhost/sqli_labs/Less-8/?id=5' and ascii(substr((select database()),1,1))=115--+
猜第二个字母:
http://localhost/sqli_labs/Less-8/?id=5' and ascii(substr((select database()),2,1))=101--+
猜第...个字母...

Después de adivinar la longitud de la base de datos, puede usar la función substr para interceptar el nombre de la base de datos y luego usar la función ascii () para codificar la cadena del nombre de la base de datos interceptada y luego compararla dentro del rango de 126 números (se recomienda usar el método de búsqueda binaria para reducir el número de comparaciones), y finalmente usar el eco para juzgar si la suposición es correcta y luego convertir el código ASCII correcto en la cadena correspondiente.

imagen-20230823170105530

Supongo que te gusta

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