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

SQL注入天书笔记(1)布尔盲注

前言

🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。

🍁个人主页:被吉师散养的职业混子

🫒每日emo:怀揣着。。

🍂相应专栏:CTF专栏

按照执行效果来分类:

(1)基于布尔的盲注

(2)基于时间的盲注

(3)基于报错注入

(4)联合查询注入

(5)堆查询注入。

(6)宽字节注入。

布尔盲注的概念

基本原理是:通过控制通过and连接起来的子句的布尔值,来控制页面的显示结果来判断and后子句的真实性。

首先,既然是布尔盲注,那自然和布尔有关系(废话

既然如此,就得回忆一下布尔是个什么玩意。

在我的印象里,布尔贼简单,不是对就是错。那么,他是怎么应用在SQL注入中的。

首先举个栗子,假设有个登录界面要求你输入账号名密码,如果你只知道账户,该怎么登入呢?

此处方法仅用于介绍布尔盲注,若有人因此损害他人利益,与我无关

基于

如果你晓得账号密码的话,登录过程中,对浏览器进行抓包会得到cookie是以

“用户名”&”密码“

这样子的形式进行传递的,

这里介绍SQL语法关于and/or的一个逻辑:

已知and的优先级大于or,所以

条件1 and 条件2 or 条件3

那么就会产生如几种情况

and 语句为真 , or语句后面为假-->真

and 语句为真 , or语句后面为真-->真

and 语句为假, or语句后面为假-->假

and 语句为假 , or语句后面为真-->真

那么如果我们在服务器获取输入信息时做点手脚。

在原本的时候,本来应该是

Select * from admin where username='admin' and password='ad0min'(删除0)

我们做些修改:

在密码处输入

' or 1#

那么这个语句就变成了

Select * from admin where username='admin' and password=' ' or 1=1#

根据之前的解释推出,前面的and虽然由于pa"ssw"ord = ' '为"假(删除双引号),但后面的or 又能将语句赋为真。

这就是经典的万能密码漏洞,由此可衍生出多种类似方法,就是注释之间的变换或者单引号双引号之类的,不叭叭了。

抽根烟去,有空继续说

 

相关文章:

  • 【2022集创赛】安谋科技杯一等奖作品:Cortex-M0智能娱乐收音机
  • python3-python中的多任务处理利器-协程的使用(一),asyncio模块的使用
  • vue06安装vue-cli+使用vue-cli搭建项目+什么是*.vue文件+开发示例+必问面试知识点
  • chrome盗取用户身份
  • 队列(Queue)的详解
  • 快速发布windows上的web项目【免费内网穿透】
  • 【C++笔试强训】第十一天
  • [Linux打怪升级之路]-vim编辑器(看就能马上操作噢)
  • 睿智的目标检测61——Keras搭建YoloV7目标检测平台
  • DM8: 达梦数据库生成100以内2位数加减法
  • 《数据结构》(六)八大排序(上)
  • 几道简单的Linux驱动相关面试题,你看你会几题?
  • libusb系列-004-Qt下使用libusb库
  • vue的简单学习
  • Arduino基础知识
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【刷算法】从上往下打印二叉树
  • Angularjs之国际化
  • CSS 三角实现
  • flutter的key在widget list的作用以及必要性
  • HTTP--网络协议分层,http历史(二)
  • Joomla 2.x, 3.x useful code cheatsheet
  • opencv python Meanshift 和 Camshift
  • PAT A1050
  • REST架构的思考
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 提醒我喝水chrome插件开发指南
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 一个SAP顾问在美国的这些年
  • 因为阿里,他们成了“杭漂”
  • ​​​​​​​​​​​​​​Γ函数
  • ​configparser --- 配置文件解析器​
  • ​iOS安全加固方法及实现
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)母版页和相对路径
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .equals()到底是什么意思?
  • .mysql secret在哪_MYSQL基本操作(上)
  • .Net Web项目创建比较不错的参考文章
  • .net 发送邮件
  • .net 使用ajax控件后如何调用前端脚本
  • .Net环境下的缓存技术介绍
  • @RequestBody的使用
  • @SuppressWarnings(unchecked)代码的作用
  • [20170713] 无法访问SQL Server
  • [Android]竖直滑动选择器WheelView的实现