Web应用安全:Mysql盲注文本.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Mysql盲注 摘 要:通过本节介绍,让学生了解什么是Mysql盲注,如何对Mysql进行盲注 关键词:Mysql、盲注 一、什么是SQL盲注 盲注就是在 sql 注入过程中,sql 语句执行的选择后,选择的数据不能回显 到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。 盲注分为三类: 基于布尔 SQL 盲注 基于时间的 SQL 盲注 基于报错的 SQL 盲注 二、基于布尔的Mysql盲注 1.非正则匹配注入 可以利用逻辑函数进行判断,常用的函数有left()、mid()和substr()left()函数 left():left ( string, n ):string为要截取的字符串,n为长度。 Mysql例子: (1) left(database(),1)=’a’,匹配数据库名的第一位,left(database(),2)=’ab’,匹配数据库名的前二位。 同样的string可以为自行构造的sql语句。 图 SEQ 图 \* ARABIC 1 left()的使用 mid():mid(column_name,start[,length]),此函数为截取字符 【MySQL盲注】是Web应用安全领域中一种重要的SQL注入技术。当攻击者无法直接从网页上获取数据库的反馈信息时,他们会通过一系列的探测和判断来获取敏感数据。盲注主要分为三种类型:基于布尔的SQL盲注、基于时间的SQL盲注和基于报错的SQL盲注。 **一、基于布尔的MySQL盲注** 这种盲注方法依赖于SQL语句执行后的真假判断。常用的逻辑函数包括`left()`, `mid()`和`substr()`。 1. **`left()`函数**:用于从字符串左边开始截取一定长度的字符。例如,`left(database(),1)='a'`可以用来判断数据库名的第一个字符是否为'a'。攻击者可以通过改变函数参数来逐个猜测数据库名的其他字符。 2. **`mid()`函数**:与`left()`类似,但可以从字符串中间的某个位置开始截取。例如,`mid(database(),1,1)='a'`用于判断数据库名的第一个字符,而`mid(database(),2,1)='d'`则用于判断第二个字符。同样,攻击者可以通过调整参数来逐个测试。 3. **`substr()`函数**:也是截取字符串的一部分,用法与`mid()`相似。攻击者可以通过构造SQL语句,如`substr(DATABASE(), 1, 1)>'a'`来逐个验证数据库名的字符。 **二、正则匹配注入与LIKE注入** 1. **`regexp`**:使用正则表达式进行匹配,例如`select user() regexp '正则表达式';`,在MySQL中,不区分大小写,若需区分,可使用`BINARY`关键字。 2. **`like`**:与`regexp`类似,但使用通配符`%`(匹配任意多个字符)和`_`(匹配任意一个字符)进行模糊匹配。 **三、基于报错的MySQL盲注** 这种方法通过触发MySQL错误来获取信息。常见的报错注入方法包括`floor()`, `exp()`, 和`updatexml()`。 1. **`floor()`报错**:通过构造包含`floor()`的SQL语句来触发错误,如`select * from table where column = floor(rand() * (x - y) + z)`,通过调整参数来获取信息。 2. **`exp()`报错**:使用`exp()`函数进行指数运算,某些情况下会导致错误信息回显,但对MySQL版本要求较高。 3. **`updatexml()`报错**:通过修改XML文档中的数据来触发错误,如`select updatexml(1, 'x', 1);`,攻击者可以利用这个函数的错误信息来揭示数据库中的数据。 在实际的Web应用安全防御中,应确保输入过滤和参数化查询的有效性,防止SQL注入的发生。同时,对错误处理策略进行优化,避免提供过多敏感信息,以降低盲注攻击的成功率。对于开发者来说,理解这些攻击方式并采取相应的安全措施是至关重要的。
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/release/download_crawler_static/85669311/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 363
- 资源: 1万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 打包和分发Rust工具.pdf
- SQL中的CREATE LOGFILE GROUP 语句.pdf
- C语言-leetcode题解之第172题阶乘后的零.zip
- C语言-leetcode题解之第171题Excel列表序号.zip
- C语言-leetcode题解之第169题多数元素.zip
- ocr-图像识别资源ocr-图像识别资源
- 图像识别:基于Resnet50 + VGG16模型融合的人体细胞癌症分类模型实现-图像识别资源
- C语言-leetcode题解之第168题Excel列表名称.zip
- C语言-leetcode题解之第167题两数之和II-输入有序数组.zip
- C语言-leetcode题解之第166题分数到小数.zip
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)