IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 渗透测试小菜鸡开课了-SLQ注入分类 -> 正文阅读

[人工智能]渗透测试小菜鸡开课了-SLQ注入分类

? ? ? ? 本人是一名信息安全专业的在校生,写文章的目的是记录每日的学习心得,打下更加牢固的基础,以及写一些收集到的信息供各位走过路过的同学参考与讨论,同时也是希望给一些超级超级的新手对于渗透测试的学习提供点材料。里面如果存在错误的方面希望走过的大佬不吝留下错误的地方,我也会吸取教训进行改正,如果对你有点帮忙也请不吝点个赞!感谢!

SQL注入简介:

? ? ? ? SQL注入一般指SQL注入攻击,SQL攻击注入是指,将SQL语句插入到能够传到后台的参数中,由后台数据库进行解析执行,从而使攻击者获取到自己想要的东西。通俗的讲,就是页面上有些参数被带入到数据库执行,如果程序员没有对这些参数进行限制,或者说限制的不到位,就会让攻击者趁虚而入通过对传入参数的编辑,来获取一些敏感的信息,造成的影响是极为严重的,是目前高危漏洞之一。

背景知识:

? ? ? ? 在聊分类之前,需要先有一定的数据库知识,这里以mysql数据库为例。我们可以简单的认为数据库就是一个存放数据的仓库,sql语句就是我们与这个仓库进行交互的方式,这么一来我们所说的查询、增加、删除、更改等方式就很好理解了。下面例举一个简单的查询操作:

? ? ? ? 首先先设定,数据库的名称为database,有一张表名为users,里面的数据如下所示:

iduserpasswd
1zhangsanzhangsan1
2lisilisi2

? ? ? ? 查看这个数据表里的所有数据,sql语句为:select * from users;

? ? ? ? 查看id等于1的所有数据,sql语句为:select * from users where id=1;

? ? ? ? 查看user等于zhangsan的passwd列的数据,sql语句为:select passwd?from users where user?= "zhangsan";

? ? ? ? 细致的讲:select后面跟要查看的字段(要注意的是*表示所有字段);from后面跟的是要查看字段来自哪里(如举例中的来源为users表);where后面跟要查询的条件(根据需求可有可无)。

SQL注入的分类:

? ? ? ?首先,我们先说说了解分类有没有必要?答案是有必要的。为什么呢?因为通过了解分类我们能够在知道注入点的分类后有针对性的进行测试,而不是盲目的测试,提高了效率,那么我们接下来说一说SQL注入的分类。

????????SQL注入的分类比较多也比较杂,主要可以从三个方向进行分类,按照数据类型进行划分、按照数据提交方式划分和按照执行效果进行划分。

? ? ? ? 按数据类型划分:

? ? ? ? 数字型:数字型SQL注入是指参数为数字型的,就如同背景知识里面查询id=1中的1是我们传递参数的内容。

? ? ? ? 字符型:字符型SQL注入是指参数为字符型的,就如同背景知识里面查询? ? ? ? ? ? ? ? ? ? ? user="zhangsan"中的zhangsan是我们传递参数的内容。

? ? ? ? 搜索型:搜索型SQL注入是指参数为模糊匹配型的,比如查询user字段中含有"zhang"的? ? ? ? ? ?数据,例如这样的sql语句:select * from users where user like '%zhang%' ;其中的zhang是? ? ? ? ? ?我们传递参数的内容。

? ? ? ? 按数据提交方式划分:

? ? ? ? GET型注入:参数通过GET的方式传递到后台。

????????POST型注入:参数通过POST的方式传递到后台。

? ? ? ? COOKIE型注入:参数通过COOKIE的方式传递到后台。

? ? ? ? HTTP请求头注入:参数通过HTTP请求头的方式传递到后台。

? ? ? ? 那么按数据提交方式划分的这几种方式有什么区别,这就要讲到HTTP请求方法以及HTTP请求包的内容。

????????首先HTTP请求方法:HTTP请求方法包含GET、HEAD、POST、PUT、DELETE、? ? ? ? ? ? ? CONNECT、OPTIONS和TRACE八种请求方式。这边就主要讲一下GET和POST请求方法。

? ? ? ? 然后HTTP请求包是包含请求行、请求头、空行和请求体。其中COOKIE型注入其实也是在HTTP请求包的请求头里面的内容。

????????? ? ?

????????

? ? ? ? 最后,GET型会用到请求行、POST型会用到请求体、HTTP请求头型会用到请求头。???COOKIE型呢?答:COOKIE型也是HTTP请求头的一种。以上的两张图就是我们的HTTP请求包,GET/POST型我们可以很容易的从请求头进行判断,明显的GET和POST,传递的参数在请求头里面就是HTTP请求头型,也可以很明显的看到我们的COOKIE也是在请求头里面,所以说COOKIE型也是HTTP请求头型的一种。

? ? ? ? 按照执行效果划分:

? ? ? ? 报错注入:报错注入是指页面会返回错误信息,或者把注入的语句的结果直接返回到页面中,可分为单引号、双引号、数字型等情况。

????????时间盲注:时间盲注是指不能够通过页面返回的内容来判断是否注入成功,此时可用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断注入的参数是否被执行。而后,再进一步注入。

? ? ? ? bool(布尔)盲注: bool(布尔)盲注是指页面会根据你输入参数的真假反馈不同的内容。

????????联合查询注入:联合查询注入是指可以使用union的情况的注入,例如使用union可以实现两条查询语句同时执行。

? ? ? ? 堆叠注入:堆叠注入是指可以同时执行多条语句的注入,和我们的联合查询区别在于->联合查询执行的语句类型有限,可以用来执行查询语句,而堆叠注入,可以用来执行任意类型的语句。比如说前面执行了查询,后面执行了删除等等。

? ? ? ? 宽字节注入:宽字节注入主要用于实体化绕过,同时涉及字符编码,数据库配置问题,比较复杂,想了解的后续再出一期详细说明。

? ? ? ? dnslog注入:dnslog就是日志,dnslog注入就是利用dnslog进行注入并回显信息,原理也相对比较复杂,想了解的后续也出一期详细说明。同时,dnslog注入,不仅可以用在SQL盲注上,还可以用在没回显的命令执行以及没回显的ssrf等。

总结:

SQL注入分类按数据类型划分数字型、字符型、搜索型
按数据提交方式划分GET型、POST型、COOKIE型、HTTP请求头型
按执行效果划分报错注入、时间盲注、布尔盲注、联合查询注入、堆栈注入、宽字节注入、dnslog注入

? ? ?以上内容纯属个人理解有错误的地方欢迎大家评论、批评与探讨,然后以上就是今天分享的学习内容。当我们知道了分类之后问题就来了,我们知道了分类,但是哦,但是,怎么判断这个地方是什么注入?怎么判断什么地方有注入?怎么根据注入类型的不同来展开测试?这是我接下来的学习目标,有想了解的可以期待一下!感谢各位同学的观看!??

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:31:30  更:2021-10-11 17:33:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:35:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码