1-5不再显示错误的盲注
1. 盲注介绍
Blind SQL(盲注)是注入攻击的其中一种,向数据库发送true或false这样的问题,并根据应用程序返回的信息判断结果,这种攻击的出现是因为应用程序配置为只显示常规错误,但并没有解决SQL注入存在的代码问题。
演示盲注问题。当攻击者利用SQL注入漏洞进行攻击时,有时候web应用程序会显示,后端数据库执行SQL查询返回的错误信息。Blind SQL(盲注)与常规注入很接近,不同的是数据库返回数据的检索方式,若数据库没有输出数据到web页面,攻击者会询问一些列的true或false问题,强制从数据库中获取数据。
盲注的分类:基于布尔型的盲注和基于时间的盲注
2. GET基于时间的盲注
if(ascii(substr(database(),1,1)=115,1,sleep(3))) : 当数据库名第一个字母的ascii码等于115时,执行一次sleep(3)函数等待三秒
3. GET基于Boolean的盲注
select length(database());
select substr(database(),1,1);
select ascii(substr(database(),1,1))>N;
select ascii(substr(database(),1,1))=N;
select ascii(substr(database(),1,1))<N;
sqli-lab8实验演示
直接加length(database()), 不需要加select()
4. Sqlmap安全测试
(1)使用特定的基于时间的探测技术进行探测
python sqlmap.py -u “探测的url” -technique -T --dbs --batch
如果不知道使用那种技术进行探测时:
可以使用 python sqlmap.py -u “探测的url” --dbs --batch
注意:如果不指定探测技术,SQLMAP将进行所有的探测技术进行探测
atch
注意:如果不指定探测技术,SQLMAP将进行所有的探测技术进行探测