当前位置: 首页 > news >正文

【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

相关文章:

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

简介 SQL(结构化查询语言)注入,通常称为 SQLi,是对 Web 应用程序数据库服务器的攻击,导致执行恶意查询。当 Web 应用程序使用未经正确验证的用户输入与数据库进行通信时,攻击者有可能窃取、删除或更改私人数据和客户数据,并攻击 Web 应用程序身份验证方法以获取私有数据…...

数码论坛系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…...

vue3性能提升主要通过哪几方面?

📝个人主页:爱吃炫迈 💌系列专栏:Vue 🧑‍💻座右铭:道阻且长,行则将至💗 文章目录 编译优化diff算法优化提取动态节点 静态提升预字符串化缓存内联事件处理函数SSR优化 源…...

跨境电商IP防关联是什么?有什么作用?

做跨境电商的朋友应该都知道IP防关联这个词,那么为何IP需要防关联呢?今天为大家来解答这个问题。 跨境电商IP防关联是指在跨境电商运营中,通过采取一系列技术手段,确保每个跨境电商账号使用独立的IP地址,以避免账号之间因为IP地址…...

git仓库太大只下载单个文件或文件夹

有没有这样的苦恼:仓库太大,只想下载其中某些文件(夹)? 一招解决: ./down_folder_from_git.sh https://github.com/facebook/infer main Makefile FILES.md scripts examples ./down_folder_from_git.sh https://github.com/Ten…...

OpenHarmony实战:RK3568 开发板镜像烧录指南

前言 烧录开发板是每个开发者的必修课,每次对系统的修改务必进行烧录测试,确保修改正确和不会引入新问题。 本文基于 Windows10,以 RK3568 开发板为例,指导如何烧录 OpenHarmony 镜像,镜像也叫固件。Hihoop&#xff…...

Asp.net Core 中一键注入接口

Asp.net Core 中一键注入接口 前言准备开始使用 前言 在之前开发Asp.Net Core程序时遇到接口需要一个一个的注入到Services中,当有非常多的接口需要注入时会显得代码成为了一座山,这里记录一下如何通过接口的命名一键自动注入. 准备 IDE: Visual studio 2022 .Net版本:.Net …...

怎么让ChatGPT批量写作原创文章

随着人工智能技术的不断发展,自然语言处理模型在文本生成领域的应用也日益广泛。ChatGPT作为其中的佼佼者之一,凭借其强大的文本生成能力和智能对话特性,为用户提供了一种高效、便捷的批量产出内容的解决方案。以下将就ChatGPT批量写作内容进…...

【SqlServer】Alwayson收缩日志

Alwayson收缩日志 压缩失败直接压缩压缩失败 直接压缩 加入高可用组之后,不能设置成简单模式。 USE [databasename] CHECKPOINT DECLARE @bakfile nvarchar(100) SET @bakfile=D:\data...

视觉里程计之对极几何

视觉里程计之对极几何 前言 上一个章节介绍了视觉里程计关于特征点的一些内容,相信大家对视觉里程计关于特征的描述已经有了一定的认识。本章节给大家介绍视觉里程计另外一个概念,对极几何。 对极几何 对极几何是立体视觉中的几何关系,描…...

数据可视化高级技术(Echarts)

目录 (一)数据可视化概念及Echarts基础知识 数据可视化的好处: 数据可视化的目标 数据可视化的基本流程 (二)数据图表 类别比较图表: 数据关系图表: 数据分布图表: 时间序列…...

设计模式——行为型——责任链模式Chain Of Responsibility

请求类 public class ApproverRequest {private int type;//请求批准的类型private float price;//请求的金额private int id;//请求的编号 } 审批人抽象类 public abstract class ApproverPerson {protected ApproverPerson next;protected String name;//审批过程public a…...

设计模式之工厂方法模式精讲

工厂方法模式又叫虚拟构造函数(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建性工作推迟到子类中。 工厂模式可以分为简单工厂…...

JS实现省市区三级联动(json假数据)

省市级三级联动通常指的是在用户界面上,用户可以通过选择省份,然后基于所选择的省份选择对应的城市,最后基于所选择的城市选择对应的区县。这种联动效果在很多应用中都有出现,例如电商平台的收货地址选择、政务服务的地区选择等。…...

Fastjson配置消息转换器(时间格式问题)

问题: 我们可以看见,日期的格式有点问题。 由于ArticleListVO类的createTime成员变量是Date类型,默认是由java的Jackson来处理,使用 ISO-8601 规范来处理日期时间格式。ISO-8601 是一种国际标准的日期时间表示法,例如&…...

安卓Android 架构模式及UI布局设计

文章目录 一、Android UI 简介1.1 在手机UI设计中,坚持的原则是什么1.2 安卓中的架构模式1.2.1 MVC (Model-View-Controller)设计模式优缺点 1.2.2 MVP(Model-View-Presenter)设计模式MVP与MVC关系: 1.2.3 MVVM(Model—View—ViewModel ) 设计模式1.2.4 …...

基于Spring Boot的在线学习系统的设计与实现

基于Spring Boot的在线学习系统的设计与实现 摘 要 在线学习系统是以大学传统线下教学方式不适应信息技术的迅速发展为背景,提高学习效率,解决传统教学问题,并且高效的实现教学信息化的一款软件系统。为了更好的实现对于教学和学生的管理&a…...

C++中重载和重写的区别

重载 是指同一可访问区内被声明的几个具有不同参数列&#xff08;参数的类型&#xff0c;个数&#xff0c;顺序不同&#xff09;的同名函数&#xff0c;根据参数列表确定调用哪个函数&#xff0c;重载不关心函数返回类型。 #include<bits/stdc.h>using namespace std;cl…...

二叉树 - 栈 - 计数 - leetcode 331. 验证二叉树的前序序列化 | 中等难度

题目 - 点击直达 leetcode 331. 验证二叉树的前序序列化 | 中等难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理方法1&#xff1a;栈方法2&#xff1a;计数 3. 时间复杂度 3. 代码实现方法1&#xff1a;栈方法2&#xff1a;计数 leetcode 331. 验证二…...

Training language models to follow instructions with human feedback

Abstract 使语言模型变得更大并不意味着它们本身就能更好地遵循用户的意图。模型的输出结果可能存在以下问题 不真实有毒对用户没有帮助即这些模型没有和用户 “对齐”(aligned) 在给定的 Prompt 分布上,1.3B 的 InstructGPT 的输出比 175B GPT-3 的输出更好(尽管参数量相…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境&#xff1a; 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境&#xff1a; virtualenv myenv 3、激活虚拟环境&#xff08;激活环境可以在当前环境下安装包&#xff09; source myenv/bin/activate 此时&#xff0c;终端…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作&#xff1a;重构数字内容生产范式 在短视频创作领域&#xff0c;IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色&#xff0c;生成的 “各位吴彦祖们大家好” 语音相似度达 97%&#xff0c;单条视频播放量突破百万…...

CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?

在现代前端开发中&#xff0c;Utility-First (功能优先) CSS 框架已经成为主流。其中&#xff0c;Tailwind CSS 无疑是市场的领导者和标杆。然而&#xff0c;一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...