基于布尔和时间的盲注也碰到过好多了,记录一下盲注的方法吧。(其实是我经常忘记盲注的语句,所以专门写篇文章记录 XD)
基于布尔
1. 场景
SQL注入不一定可以直接得到我们想要的信息,有时候页面只有两种返回:true && false。这时候就可以利用盲注了。
2. 方法
方法1——使用left()函数进行猜测
?id=1' and left(database(),1)>'r'#
方法2——使用ascii()函数和substr()函数进行猜测
?id=1' and ascii(substr((select database()),1,1)>144#
当然这里也可以不用ascii(),直接使用substr来猜字符是什么。(反正写个脚本猜的也不慢(~ ̄▽ ̄)~)
猜库会了,猜字段啊,数据啊什么的应该也会了吧?(毕竟后面就是常规的注入了)
3. 例题
Bugku web login3(SHCTF))
Writeup)
基于时间
1. 场景
当 web application 执行了我们的语句但对返回的内容进行了过滤,就可以进行基于时间的盲注。
2. 方法
基于时间的注入可以用以下语句:
if语句
if(length(database())=8,sleep(10),1);
select语句
select case when (条件) then 代码1 else 代码 2 end;
方法就是这样,剩下的就是常规注入啦~