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

sql注入工具升级:自动化时间盲注、布尔盲注

项目地址:https://github.com/iamnotamaster/sql-injecter

给我之前写的sql注入脚本进行了一些升级,此文章就是对升级内容的分析,升级内容如下:

  • 使用占位符foo来填充payload里需要经常修改的部分

  • 自动判断循环

  • 支持爆破和二分查找法来枚举一个字符

  • 显示枚举一个字符所需要的时间和数据包的数量

  • 二分查找的优点和缺点

使用占位符foo来填充payload里需要经常修改的部分

payload不在使用拼接的方式来替换其需要修改的字符,而是通过占位符foo的方式替换字符。

首先要定义一个payload_foo
​
payload_foo = "1' and substr(str_foo,int_foo,1)='char_foo' and '1'='1"
str_foo = "database()"
​
str_foo是用户输入的内容,如:database()
int_foo是程序需要从1开始循环遍历字符串的数字,不需要用户输入
char_foo是程序需要遍历的字符,不需要用户输入
​
以上内容输入给程序就是枚举出database的内容
自动判断循环
程序根据给定的payload_foo中的占位符foo的数量,判断是否需要嵌套循环
​
例如上面提过的例子,它同时给定了int_foo和char_foo,说明要枚举出一个字符串,需要两个循环语句
​
而以下这个例子,只需要一个循环语句:payload_foo2 = "1' and str_foo=int_foo and '1'='1"
​
给定str_foo = "database()"
payload_foo2的目的是枚举出database()的长度,因此只需要一个循环就能完成任务
支持爆破和二分查找法来枚举一个字符
爆破的话不用多说:
brute_list1 = ", 0123456789abcdefghijklmnopqrstuvwxyz"
一个一个发
​
二分法的布尔注入(整个过程像是猜数字游戏一样):
发送一个payload如下:
1' and int_foo>str_foo and '1'='1
​
给定str_foo = "length(database())"
程序会随机猜一个数字guess替换占位符int_foo
目标如果显示出期待的字符串,说明guess > target,然后程序不断判断并缩小guess的范围,直到找到正确答案
显示枚举一个字符所需要的时间和数据包的数量
这个没什么技术含量,但是非常有用
二分查找的优点和缺点
  • 优点:发送的数据包少且稳定,因为数据包少有利于规避

  • 缺点:爆破一个字符耗费的时间更长

我已经测试了时间盲注post的二分查找,和时间盲注post爆破对比如下:

二分查找时间盲注post:

爆破时间盲注post:

可以看到,爆破几乎1s就能爆出一个字符(设置sleep(1)),然而二分查找需要2~4秒
但是二分查找爆出一个字符,只需要5~8个数据包,而爆破最高时能到30个

理论上说,如果目标结果足够大,那么二分查找不论速度还是数据包的数量,都优于爆破

相关文章:

sql注入工具升级:自动化时间盲注、布尔盲注

项目地址:https://github.com/iamnotamaster/sql-injecter 给我之前写的sql注入脚本进行了一些升级,此文章就是对升级内容的分析,升级内容如下: 使用占位符foo来填充payload里需要经常修改的部分 自动判断循环 支持爆破和二分查…...

字节C++抖音直播一面-面经总结

1、Python和C的区别,Python的程序执行过程是怎样的?C和C呢? 解释型-编译型 不用分号-用分号 自动垃圾回收-delete 相对较慢-执行速度快 丰富的库-标注模板库 .py-解释器-字节码-PVM-输出结果 c-c with class malloc-new 标准库-STL 不重载-函数重载和…...

浅谈stm32的GPIO引脚配置模式

STM32的GPIO(通用输入输出)引脚可以被配置为多种模式,以适应不同的应用场景。下面介绍一些一些常见的STM32 GPIO引脚模式: 模拟输入模式(Analog Input Mode):在这种模式下,GPIO引脚被…...

Meta Orion 原型的生产成本约为 10,000 美元

Orion Meta 是一项突破性的增强现实项目,展示了其迄今为止最先进的原型。经过多年的研究和数百万美元的开发,Meta 打造出了一款仅重 98 克的增强现实眼镜,能够将全息图投射到视线范围内的任何地方。这款眼镜由一个先进的输入系统驱动&#xf…...

MATLAB GUI设计原则与实践

MATLAB的图形用户界面(GUI)设计是一种强大的工具,用于创建交互式应用程序。良好的GUI设计不仅能够提升用户体验,还能提高应用程序的可用性和效率。本文将探讨MATLAB GUI设计的原则,并提供一些实用的代码示例。 1. GUI…...

电脑桌面显示不完整

UOS统信由于误操作,导致桌面放大了,桌面显示不完整,本文主要介绍如何恢复到正常的桌面。 文章目录 一、问题描述二、解决方案 一、问题描述 电脑使用过程中出现显示器只能显示部分画面,桌面图标异常变大,桌面随鼠标移…...

Spring Boot与观察者模式实现数据同步更新机制

在Spring Boot应用程序中实现观察者模式来同步更新数据是一种强大的设计方式,它可以帮助你构建响应式和松耦合的应用程序。观察者模式通常用于当一个对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。 观察者模式的基本概念 •Subject(被观察者):维护了一个…...

毕业设计选题:基于ssm+vue+uniapp的校园订餐小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...

每日OJ题_牛客_HJ108求最小公倍数_C++_Java

目录 牛客_HJ108求最小公倍数_C_Java 题目解析 C代码 Java代码 牛客_HJ108求最小公倍数_C_Java 求最小公倍数_牛客题霸_牛客网 题目解析 A 和 B 的最小公倍数 A * B / 两者的最大公约数。最大公约数&#xff1a;辗转相除法。 C代码 #include <iostream> #includ…...

【项目总结】工程构建思路分析与分享

背景 写这篇文章的初衷是因为国产化项目临近结束&#xff0c;在做项目总结时&#xff0c;回想起了代码管理的相关问题。虽然工程搭建及管理是一个高级工程师必备的能力&#xff0c;但似乎每次一个新项目立项&#xff0c;都是从老的项目中拷贝工程框架&#xff0c;再进行定制修…...

3、AI测试辅助-测试计划编写(自动生成任务甘特图)

AI测试辅助-测试计划编写 一、创建测试计划1.1 使用ChatGpt生成测试计划1.1.1 测试计划细化-测试任务排期1.1.2 测试计划细化-利用plantuml输出甘特图&#xff08;不推荐&#xff09;1.1.3 测试计划细化-利用mermaid 生成甘特图&#xff08;推荐&#xff09; 一、创建测试计划 …...

MySQL:进阶巩固-触发器

目录 一、基本概述二、语法结构三、基本使用3.1 新增的触发器3.2 修改的触发器3.3 删除的触发器 一、基本概述 触发器是与表有关的数据对象&#xff0c;在INSERT/UPDATE/DELETE之前或者是之后&#xff0c;触发并执行触发器中定义的SQL语句的集合&#xff0c;触发器的这种特性可…...

python获取百度地图路径规划

自制语音助手想做一个查询交通路线的功能&#xff0c;于是就想到了百度地图。在百度地图的服务器端应用中&#xff0c;提供了“轻量级路线规划”API接口&#xff0c;正好可以满足需求。要用这个接口&#xff0c;需要注册百度地图账号并创建一个服务器端的应用。有关开通百度地图…...

Spring Boot 进阶- Spring Boot 自定义拦截器详解

上篇文章中我们创建了一个RestFul风格的接口,并且介绍了如何对其结果进行格式化的方式。这篇文章我们来讲在SpringMVC中常用到的另一个概念拦截器。 什么是拦截器? 在Spring MVC中拦截器有点类似于在Servlet中的过滤器的概念,主要是用来拦截用户求,并且对用户请求进行相应…...

ACM第三次考核题解

ACM第三次考核题解 题目序号难度题目编号题目考察知识点1签到题A这是一道很难的题&#xff01;&#xff01;&#xff01;输出2迷之难度F神说要有光&#xff0c;于是有了手电筒贪心3简单BThis is a real English problem&#xff01;思维 英语4简单C玩具简单排序5简单I“近义词…...

基于Vue3内置的lodash函数库实现防抖节流

前言 防抖节流是可以说是一种优化组件性能的技巧&#xff0c;可以有效减少组件中的渲染次数和计算量&#xff0c;从而提高组件的响应速度和用户体验。在Vue3中可以使用lodash库中的debounce和throttle函数来分别实现防抖和节流。当然也可以自行设计实现防抖节流函数&#xff0…...

ls -a有什么作用

ls -a 是一个在类Unix操作系统&#xff08;如Linux、macOS&#xff09;中使用的命令&#xff0c;用于列出目录中的所有文件和目录&#xff0c;包括那些以.开头的隐藏文件。 具体作用如下&#xff1a; ls: 这是一个列出目录内容的命令。 -a: 这是一个选项&#xff0c;表示"…...

LLM - 使用 RAG (检索增强生成) 多路召回 实现 精准知识问答 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/142629289 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 RAG (R…...

编程语言图书创作要注意的事情有哪些?

编程语言图书的创作是一项复杂且具有挑战性的任务&#xff0c;需要作者深入理解技术、清晰表达&#xff0c;并考虑读者的学习体验。一本优秀的编程书籍不仅能够教授技术知识&#xff0c;更能引导读者逐步深入&#xff0c;激发他们的思考和实际应用能力。以下将详细探讨编程语言…...

主流高级编程语言的推出时间及年份

1.下表一些主流高级编程语言的推出时间及年份&#xff1a; 高级语言 推出时间 岁数 FORTRAN 1957 67 LISP 1959 65 COBOL 1961 63 BASIC 1964 60 Pascal 1970 54 C 1972 52 MATLAB 1978 46 SQL 1978 46 Objective-C 1983 41 C 1983 41 Perl …...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...