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 --+
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.