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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 5-1sqli基本概念和原理讲解 -> 正文阅读

[网络协议]5-1sqli基本概念和原理讲解

Sql-Inject漏洞解析-课程目录

? SQL Inject 漏洞原理概述
? 如何判断注入点类型及常见注入类型讲解
? 注入方式get&post的区别
? SQL Inject漏洞手工测试:基于union联合查询的信息获取(select)

? SQL Inject漏洞手工测试:基于报错的信息获取(select/delete/update/insert)
? SQL Inject漏洞手工测试:操作系统权限获取
? SQL注入漏洞-盲注(boolian base)原理及测试
? SQL注入漏洞-盲注(time base)原理及测试
? SQL注入漏洞-基于http header的注入
? SQL注入表列明猜解-暴力破解在sqli上的应用

表名和列名

? SQL注入-宽字节注入原理及演示
? 如何使用SQL-Map进行SQL Inject漏洞测试

能够提高我们的工作效率,前提是我们的原理能够搞懂,这样子,在工作当中,才能更好的去跟开发人员沟通,而不仅仅是做一个脚本小子

? SQL注入漏洞常见防范措施

SQL Inject漏洞概述

在owasp发布的top 10漏洞里面,注入漏洞一直是危害排名第一,其中主要指SQL Inject漏洞。

攻击者可以通过这个漏洞,对我们数据库里面的信息,进行获取,因为我们数据库里面的信息是比较重要的东西,获取操作系统权限,对我们操作系统进行远程控制

数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界(前端用户的输入)进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句(明明是要输入1,但是却输入了其它的东西),从而欺骗后台数据库对其进行执行,导致数据库信息泄漏的一种漏洞。

SQL Inject漏洞概述

在这里插入图片描述

在这里有个网站,假设它是论坛,一般我们的网站都会有个数据库,用户信息,留言等相关信息都会保存到数据库里面,这是一个正常、普通的架构,假设在我们的页面上有个功能,输入用户id,后端会把用户邮箱,给它显示出来,提供一个页面查询

正常输入: 1

select email from users where id=1;

这个1会被提交到我们的用户程序上面来,我们通过对应的参数,获取到我们输入之后,去连接数据库,把这个输入,放到对应的数据库操作里面去,去获取对应的数据库信息

非法输入: 1 or 1=1

select email from users where id=1 or 1=1;

攻击者不按套路出牌,后端没有对输入参数进行对应的安全措施的话,就会导致用户输入的一整段们都会被完整的拼接到sql语句里面去,因为在我们的后端,你可能把获取到的用户输入直接放到sql里面去,那用户输入的是什么,拼接到的就是什么,这样,整个sql逻辑就变了,执行效果就不同了,它会导致我们表里的数据,都会被遍历出去,那这样子,就导致了我们数据库信息的泄露

SQL Inject漏洞攻击流程

第一步:注入点探测
自动方式:使用web漏洞扫描工具,自动进行注入点发现
手动方式:手工构造sql inject测试语句进行注入点发现

通过前端拼接进去,他传到后台之后,我们通过他返回的数据,看他是否有报错,或者说看他返回的逻辑,来判断我们输入的内容,在后台是不是拼接到数据库里面去执行了,如果是这样,就意味着后端的数据库,会接受我们前端传入的一些其它的操作,那这个地方就存在sql注入

第二步:信息获取
通过注入点取期望得到的数据。
1.环境信息:数据库类型,数据库版本,操作系统版本,用户信息等。
2.数据库信息:数据库名称、数据库表、表字段、字段内容(加密内容破解)

如果数据库权限过大的话,攻击者可以通过数据库功能

第三步:获取权限

获取操作系统权限: 通过数据库执行shell,上传木马,来彻底控制这台机器

SQL Inject漏洞-常见注入点类型

如何判断注入点的类型?

输入这个变量,当他传到我们sql语句的时候,是以什么样的类型拼接进去的

? 数字型 user_id=$id

比如说,以纯数字的方式拼接进去的

? 字符型 user_id=‘$id’

以双引号、单引号、字符串的形式,拼接进去的

? 搜索型 text LIKE ‘%{$_GET[‘search’]}%’"

在数据库里面,还有可能是搜索,像like、百分号方式拼接进去的

其实这个分类并不是绝对的,主要是我们在构造sql注入payload的时候,我们按照这么个分类,来整理我们的思路,来进行相关的闭合测试,数字型怎么闭合,字符型怎么闭合,搜索型怎么闭合,还有其它的类型,我们主要是构造闭合,成功的构建一个闭合,进行相关的测试,这就是成功的

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章           查看所有文章
加:2022-05-01 16:06:29  更:2022-05-01 16:07:51 
 
开发: 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/26 2:41:28-

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