web安全之sql注入布尔注入


条件:

当一个页面,存在注入,没显示位,没有数据库出错信息,只能通过页面返回正常不正常进行判断进行sql注入。

 

了解的函数

exists()
                   用于检查  子查询是否有返回数据。 结果是 ture或者false
 
ascii()
把字符转化成ascii码
substr()
     substr(string string,num start,num length);
偏移从1开始的 并不是0;
 
select ascii(substr((select user()),1,1));
 
步骤
(1) 看是否有注入点,判断 整型还是字符串
(2)判断查找的数据库的长度
(3) 根据ascii()函数  得出库名
(4) 查找库,判断库的长度 , 根据ascii() 得出表名
(5) 判断表名的长度,根据ascii() 得出列名
 
 
 
1.找注入点
 
 
2.一次判断数据库的版本号
select ascii(substr((select database()),1,1))
 
?id=1' 
and (select ascii(substr((select database()),1,1)) >115)
 --+
3.判断查找的数据库的长度
 
 

4. 得到表名

 

 

 

最终依次猜的表名为users


5. 得到列名

 

同理最终得到第2列列名为username,第3列列名为password



5. 得到列值

 

 

 

依次得到为admin4,同理可得其他数据

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM