【THM】SQL Injection(SQL注入)-初级渗透测试

简介

SQL(结构化查询语言)注入,通常称为 SQLi,是对 Web 应用程序数据库服务器的攻击,导致执行恶意查询。当 Web 应用程序使用未经正确验证的用户输入与数据库进行通信时,攻击者有可能窃取、删除或更改私人数据和客户数据,并攻击 Web 应用程序身份验证方法以获取私有数据。或客户区。这就是为什么SQLi是最古老的 Web 应用程序漏洞之一,而且也可能是最具破坏性的。
在这个房间中,您将了解什么是数据库、什么是SQL以及一些基本的SQL命令、如何检测SQL漏洞、如何利用 SQLi 漏洞以及作为开发人员如何保护自己免受SQL注入。

任务一问题:

SQL 代表什么?            答案:Structured Query Language

什么是数据库

什么是数据库?

数据库是一种以有组织的方式电子存储数据集合的方式。数据库由 DBMS 控制,DBMS 是数据库管理系统的缩写。 DBMS 分为两个阵营:关系型和非关系型;这个房间的重点将是关系数据库;您会遇到的一些常见的有 MySQL、Microsoft SQL Server、Access、PostgreSQL 和 SQLite。我们将在本任务结束时解释关系数据库和非关系数据库之间的区别,但首先,学习一些术语很重要。

在 DBMS 中,您可以拥有多个数据库,每个数据库都包含自己的一组相关数据。例如,您可能有一个名为“ shop ”的数据库。在此数据库中,您希望存储有关可供购买的产品、已注册到您的在线商店的用户的信息以及有关您收到的订单的信息。您可以使用称为表的东西将这些信息单独存储在数据库中。每个表都用唯一的名称进行标识。您可以在下图中看到这种结构,但您还可以看到企业如何拥有其他单独的数据库来存储员工信息或客户团队。

什么是表格?

表格由列和行组成;一种有用的方式是将表格想象成一个网格,其中从左到右穿过顶部的列包含单元格的名称,而从上到下的行则包含实际数据。

列:

每个列(更好地称为字段)在每个表中都有唯一的名称。创建列时,您还可以设置它将包含的数据类型,常见的是整数(数字)、字符串(标准文本)或日期。有些数据库可以包含更复杂的数据,例如包含位置信息的地理空间数据。设置数据类型还可以确保不存储不正确的信息,例如字符串“hello world”存储在用于日期的列中。如果发生这种情况,数据库服务器通常会产生错误消息。包含整数的列也可以启用自动增量功能;这为每行数据提供了一个唯一的数字,该数字随着后续的每一行而增长(递增)。这样做会创建所谓的关键字段;每行数据的关键字段必须是唯一的,可用于在SQL查询中查找确切的行。

行:

行或记录包含单独的数据行。当您向表中添加数据时,会创建一个新行/记录;当您删除数据时,行/记录将被删除。

关系数据库与非关系数据库:
关系数据库将信息存储在表中,并且表之间通常共享信息;它们使用列来指定和定义要存储的数据,并使用行来实际存储数据。这些表通常包含一个具有唯一 ID(主键)的列,然后在其他表中使用该列来引用它并在表之间建立关系,因此称为关系数据库。

另一方面,非关系数据库有时称为 NoSQL,是不使用表、列和行来存储数据的任何类型的数据库。不需要构建特定的数据库布局,因此每行数据可以包含不同的信息,从而比关系数据库提供更大的灵活性。这种类型的一些流行数据库包括 MongoDB、Cassandra 和ElasticSearch。

任务二问题:

控制数据库的软件的缩写是什么?                 答案:DBMS 

保存数据的网格状结构的名称是什么?          答案:table

什么是SQL?

SQL(结构化查询语言)是一种用于查询数据库的功能丰富的语言。这些SQL查询最好称为语句。

我们将在本任务中介绍的最简单的命令用于检索(选择)、更新、插入和删除数据。尽管有些相似,但某些数据库服务器有自己的语法,并且工作方式略有变化。所有这些示例都基于 MySQL 数据库。学习完这些课程后,您将能够轻松地在线搜索不同服务器的替代语法。值得注意的是,SQL语法不区分大小写。

选择

我们将学习的第一个查询类型是用于从数据库检索数据的 SELECT 查询。 

select * from users;

ID用户名密码
1jonpass123
2adminp4ssword
3martinsecret123

第一个词 SELECT,告诉数据库我们要检索一些数据; * 告诉数据库我们想要从表中接收所有列。例如,该表可能包含三列(id、用户名和密码)。 “from users”告诉数据库我们要从名为users的表中检索数据。最后,末尾的分号告诉数据库这是查询的结束。  

下一个查询与上面的类似,但是这一次,我们不使用 * 返回数据库表中的所有列,而是只请求用户名和密码字段。

select username,password from users;

用户名密码
乔恩pass123
行政p4ssword
马丁secret123

下面的查询与第一个查询一样,使用 * 选择器返回所有列,然后“LIMIT 1”子句强制数据库仅返回一行数据。将查询更改为“LIMIT 1,1”会强制查询跳过第一个结果,然后“LIMIT 2,1”会跳过前两个结果,依此类推。您需要记住第一个数字告诉数据库您希望跳过多少结果,第二个数字告诉数据库要返回多少行。

select * from users LIMIT 1;

ID用户名密码
1jonpass123

最后,我们将使用 where 子句;这就是我们如何通过返回与我们的特定子句匹配的数据来精细地挑选出我们需要的确切数据:

select * from users where username='admin';

ID用户名密码
2adminp4ssword

这只会返回用户名等于 admin 的行。

select * from users where username != 'admin';

ID用户名密码
1jonpass123
3martinsecret123

这只会返回用户名  等于 admin 的行。

select * from users where username='admin' or username='jon';

ID用户名密码
1jonpass123
2adminp4ssword

这只会返回用户名等于 admin 或 jon 的行。

select * from users where username='admin' and password='p4ssword';

ID用户名密码
2adminp4ssword

这只会返回用户名等于 admin

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

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

相关文章

python对接百度云车牌识别

注册百度智能云,选择产品服务。 https://console.bce.baidu.com/ 每天赠送200次,做开发测试足够了。 在应用列表复制 AppID , API Key ,Secret Key 备用。 SDK下载地址 https://ai.baidu.com/sdk#ocr 下载SDK文件,解压,…

python+scrapy电影推荐系统可视化分析系统

在本系统的开发过程中,研究学习了如何使用scrapy、Django这两大框架,体会到了python语言的“极简至优美”,我接触到了这几个框架的前沿知识,对自己可以站在巨人的肩膀上兴奋不已。我在系统开发过程中,经历了由抓取数据…

67、yolov8目标检测和旋转目标检测算法batchsize=1/6部署Atlas 200I DK A2开发板上

基本思想:需求部署yolov8目标检测和旋转目标检测算法部署atlas 200dk 开发板上 一、转换模型 链接: https://pan.baidu.com/s/1hJPX2QvybI4AGgeJKO6QgQ?pwd=q2s5 提取码: q2s5 from ultralytics import YOLO# Load a model model = YOLO("yolov8s.yaml") # buil…

Linux之ssh服务

目录 一、ssh简介 ssh组件 二、配置文件 三、相关的命令 ssh scp 四、密钥认证 一、ssh简介 远程登陆linux用的就是ssh服务 ssh服务特点就是数据会机密传输 ssh组件 组件:openssh 服务器:sshd 默认端口:22 二、配置文件 /etc/ssh/ss…

如何在CentOS安装StackEdit Markdown编辑器并实现无公网IP远程访问使用

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安…

镭速如何解决UDP传输不通的问题

我们之前有谈到过企业如果遇到UDP传输不通的情况,常见的一些解决方式,同时也介绍了一站式企业文件传输方式-镭速相关优势,如果在实际应用中,若镭速UDP传输出现不通的情况,需要按照网络通信的一般性排查方法以及针对镭速…

男裤哪个品牌质量好?一次教你学会怎么选男生裤子

相信大家每次在选衣服和裤子的时候都希望能够买到好看质量又好的,但现在市面却太多不同的品牌,并且质量也参差不齐,十分容易选择到一些质量不好的裤子。那么今天就专门对现在市面热门的几款男装裤子进行测评,并根据具体结果进行推…

漏洞挖掘 | 某医院小程序支付漏洞+越权

某医院小程序存在支付漏洞和越权查看他人身份证,手机号,住址等信息 一个医院线上的小程序 登陆后点击个人信息,抓包,放到repQeter模块, 修改strUserID参数可以越权查看别人信息 放intruder模块可以跑数据,…

【好书推荐4】图机器学习

【好书推荐4】图机器学习 写在最前面编辑推荐内容简介作者简介目录前言/序言本书读者内容介绍 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能…

考研数学|《880题》怎么刷效率最高呢?

我觉得880题至少要刷两遍才能吃透其中的精华 如果已经做完了1800题基础部分,并且正确率还不错,那就可以做880题了,但是做880题之前,我的建议是,先把1800题基础部分的错题再给过一遍,因为你现在做880题基础…

matlab中旋转矩阵函数

文章目录 matlab里的旋转矩阵、四元数、欧拉角四元数根据两向量计算向量之间的旋转矩阵和四元数欧拉角转旋转矩阵旋转矩阵转欧拉角旋转矩阵转四元数参考链接 matlab里的旋转矩阵、四元数、欧拉角 旋转矩阵dcmR四元数quatq[q0,q1,q2,q3]欧拉角angle[row,pitch,yaw] % 旋转矩阵…

记录Linux系统中vim同时开多个窗口编辑文件

在使用Linux进行文本编辑的时候,通常使用vim编辑器编辑文件,当然啦,vim也可以创建文件,如果只是一个一个创建,只需要vim创建即可,但是如何一次性打开多个窗口编辑呢? 目录 1、目标:…