盲注:盲注也是注入的一种,盲注一般分为布尔盲注和时间盲注。布尔盲注就是说页面的返回值只有两种, True 和 False。所以我们只能通过测试输入的注入语句为 Ture 或 False 来判断注入的效果,并通过这两种可能一步步得判断出数据库的信息。
从上图我们可以大致猜测sql语句为:select username,password from users where username=(‘账号‘) and password=(‘密码‘) limit 0,1
select username,password from users where username=(‘adf‘) or 1=1 #‘) and password=(‘ ‘) limit 0,1
界面显示成功登陆,因为界面只会显示成功,或者失败,所以我们可以用盲注注出数据
length() : 返回字符串的长度
substr() : 截取字符串,第一个参数字符串,第二个参数起始位(从1开始),第三个参数偏移量
ascii() : 返回字符的ascii码
页面显示正常,所以可以推断数据库的长度是大于7的。再慢慢增大尝试,最终得到当前数据库长度为8。
if表判断,ascii表示把查出来的转成ascii码,substr截取字符串第一个参数要截取的字符串,第二个参数起始位,第三个参数偏移量
爆出来了
原文:https://www.cnblogs.com/zhuifeng6/p/13063141.html