当前位置: 首页 > article >正文

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


http://www.kler.cn/a/540241.html

相关文章:

  • JS中|=是什么意思?
  • Django在终端创建项目(pycharm Windows)
  • C++ decltype 规则推导
  • 【0401】Postgres内核 CREATE DATABASE database-name 源码实现 ①
  • 【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
  • node 程序占用处理方法与后台运行方法
  • Linux系统-centos防火墙firewalld详解
  • 《StyTr²:基于 Transformer 的图像风格迁移》学习笔记
  • ES传输带宽优化方案
  • 9.JVM-方法区
  • 第四个Qt开发实例(为Label组件添加显示的文字)
  • 【机器学习与数据挖掘实战】案例13:基于BP神经网络模型的家用热水器用户行为分析与事件识别
  • 哪些情况会导致JVM内存泄露
  • qt制作一个png格式转ico格式的工具
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-metrics.py
  • AGI的基石:什么是机器学习
  • 【DeepSeek × Postman】请求回复
  • UP-VLA:具身智体的统一理解与预测模型
  • USB子系统学习(四)用户态下使用libusb读取鼠标数据
  • 深度学习-与OCR结合
  • react脚手架搭建react项目使用scss
  • windows 边框函数 画笔
  • MIT6.824 Lecture 2-RPC and Threads Lecture 3-GFS
  • Post-trained猜想
  • 长安汽车发布“北斗天枢2.0”计划,深蓝汽车普及全民智驾
  • 安装 Ollama 需要哪些步骤?(windows+mac+linux+二进制+Docker)