
数据库
文章平均质量分 94
。。。
ZeroHeroX
这个作者很懒,什么都没留下…
展开
-
MD5 绕过第三式:ffifdyop
二进制数据会被转化为 ASCII 字符✨,如果某一个字符串在经过 MD5 哈希后,得到的二进制数据转化为 ASCII 文本后恰能够与周围的文本形成 SQL 注入语句,那么我们就能够绕过限制,成功发起攻击😈。ffifdyop 经过两次转化后得到的结果是 'or'6�]��!r,��b。位于 or 两侧的单引号可以用于闭合两端的单引号,使得 or 不再被 MySQL 认为是字符串,而是一个关键字,发挥着 逻辑或运算符 的作用。原创 2023-09-30 18:11:15 · 859 阅读 · 0 评论 -
MySQL 数据库:字符串数据类型 ENUM
在 MySQL 中,枚举类型属于字符串类型的一种,但是与一般的字符串类型不同,它具有一个预定义的值域。在创建表时,您可以指定枚举类型的可能值,然后在 插入 或 更新 数据时,只能选择这些预定义值之一。在 MySQL 中,枚举类型中的枚举值对应的索引是指每个枚举值在枚举类型内部的 位置。当定义枚举类型时,每个枚举值都被映射到一个 整数值,这个整数值就是枚举值的索引。在枚举列中,枚举值的比较是通过比较其对应的整数索引来实现的。枚举值在排序时是基于其对应的整数索引进行排序的。由于枚举值被映射到整数索引,对枚举列进原创 2023-05-20 17:02:25 · 2110 阅读 · 0 评论 -
存储之道:MySQL 中的字符串数据类型之 CHAR 与 VARCHAR
VARCHAR 类型存储时使用 一个或两个字节的长度前缀来表示字符串的长度。这个长度前缀指示了 数据内容中的字符数。如果数据内容的长度不超过 255 个字符,则使用 一 个字节来存储长度信息;如果值的长度可能超过 255 个字节,则使用 两 个字节来存储长度信息。CHAR 255 字符 存储 固定长度 的 字符串,末尾会使用 空格 进行填充以满足指定长度要求 VARCHAR 65,535 字符 存储 可变长度 的 字符串,只占用实际存储的字符长度(单个字符所占据的存储空间由其使用的字符集决定)以及一或两原创 2023-05-19 21:11:22 · 6900 阅读 · 1 评论 -
NodeJS 与第三方模块 mysql(基本操作)
在 NodeJS 对数据库进行查询等操作时 NodeJS 将正式向 MySQL 发起连接,所以通过此法可以检查数据库是否可以正常连接。在编写后端代码时,一定要注意数据与代码分离的原则。在 mysql 模块中,你可以使用 ? 来代替某个数据。在使用占位符代替数据后,请不要忘记向 mysql 模块提供需要被替代的数据。原创 2023-01-26 20:23:21 · 1455 阅读 · 0 评论 -
sqli-labs 11~14 多命通关攻略(报错注入)
由于该关卡中会提示错误信息,所以我们可以通过报错注入来爆破数据库。原创 2023-01-16 10:27:04 · 644 阅读 · 7 评论 -
sqli-labs 9~10 多命通关攻略(Python3 自动化实现时间盲注)
三种输入,sqli-labs 的回显区域显示的内容均,因此我们只能使用基于时间的注入方式。原创 2023-01-13 10:55:15 · 890 阅读 · 0 评论 -
sqli-labs 第八关 多命通关攻略(Python3 自动化实现布尔盲注)
在使用了这两种对布尔盲注的实现后,相信各位都感觉到了采用了二分查找算法的 Python 实现相比于普通的 Python 实现速度有很大的提升吧,这种执行速度上的差异会随着被判断字符串的长度而变得更为明显。在转换过程中,MySQL 将对字符串的每一个字符从左往右进行扫描,一旦遇到非数字的字符将停止继续扫描(如果字符串的第一个字符为非数字字符,则将该字符串转换为数值的结果为。),我们先对数据库的名称的长度位数进行判断,相信数据库名称的长度的位数是不可能超过。让我们构造语句来判断数据库名称的第一个字符是否为。原创 2023-01-09 22:03:11 · 836 阅读 · 0 评论 -
sqli-labs 5~6 多命通关攻略
在 right() 函数无法精确对回显区域的显示内容进行精确的偏移后,我尝试了 substr()、mid()、substring() 等截取函数,发现都无法做到精确偏移的效果。退而求其次,我们可以将偏移量减小为回显区域可显示的最大字符长度的一半。在这个例子中,我们可以将 right() 函数的第二个参数由原来的 32 减小为 16。观察上面多次的偏移结果,我们可以发现我们为 right() 函数设置的第二个参数并不总是如我们所愿的原因是符号问题right() 函数的第二个参数为32时的返回结果。原创 2023-01-06 16:25:31 · 801 阅读 · 1 评论 -
sqli-labs 第七关 多命通关攻略
错误输入与不正常输入的返回结果是相同的。该页面的 PHP 代码存在这么一个判断语句,在 SQL 查询结果不为空集时,返回结果为;反之返回。怎么会这样?等等,我们刚刚得出的结论好像被忽略了:该页面的 PHP 代码存在这么一个判断语句,在 SQL 查询结果不为空集时,返回结果为;反之返回。既然返回结果为空都将返回,那我们刚刚构造的判断语句又怎么能够判断出注入类型呢?在遇到读写权限问题后,尝试向搜索引擎寻求帮助,但解决方案大多针对 Linux 操作系统且并不详细,只好自己摸索了。原创 2023-01-05 21:52:50 · 2125 阅读 · 2 评论 -
MySQL 的安装与配置
至于为什么要更改是为了此时安装的 MySQL 不与 后续要安装的 PHP 集成开发环境 phpstudy 提供的 MySQL 服务发生冲突(phpstudy 中的 MySQL 默认监听端口 3306,因此两者不可同时正常工作)。这里我将取消勾选(默认为勾选状态),因为使用 MySQL 往往是在 Linux 虚拟机中,Windows 下的 MySQL 较少使用,为减少不必要的系统开支,我选择取消勾选。在输入框中输入 MySQL 服务对应的服务名称,这里我使用默认的服务名称,即 MySQL57。原创 2023-01-02 17:16:50 · 234 阅读 · 0 评论 -
sqli-labs 1~4 多命通关攻略
而当超出这个范围时,union 前一部分的 SQL 查询结果为空,后一部分的查询结果中的第一行成为这整一个查询语句的第一行,而 where 语句仅作用于前部分语句,所以当我们使 id 的值为 1000 时,MySQL 仍旧没有报错,而是显示了后部分查询结果的第一行,即 emails。通过上面的介绍,我想各位都会更愿意使用 group_concat() 函数而不是 limit 关键字,因为 group_concat() 函数一次性就可以显示所有内容,而 limit 却只能一个一个的显示。可以看到报错信息了。原创 2022-12-29 16:55:42 · 399 阅读 · 0 评论 -
产生错误 ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061) 的两种原因
由于我安装了 PHP 集成开发环境phpstudy,phpstudy 内的 MySQL 服务使用的是默认端口 3306,为了不与其发生冲突,所以我将安装的 MySQL 使用的服务使用的端口号设置为 3360。若没有为 MySQL 设置开机自启动选项,则每次需要使用 MySQL 时,都需要手动开启 MySQL ,对于某些人来说,这显得过于繁琐,所以我们来开启 MySQL 的开机自启功能。在开启 MySQL 服务的过程中,我们需要知道 MySQL 服务的名称。滚动滚轮寻找 MySQL 服务,双击该项服务。原创 2022-12-26 15:52:01 · 19135 阅读 · 5 评论 -
Python实现MySQL数据库连接---pymysql
利用Python连接数据库进行数据存储。原创 2022-10-15 11:25:44 · 5637 阅读 · 0 评论 -
数据库概述
数据库 使用数据库的优点 数据库类型 关系型数据库 关系型数据库的优点关系型数据库所遇到的瓶颈 非关系型数据库非关系型数据库的优点 非关系型数据库的缺点 结构化查询语言 SQL 语句结构 数据库管理系统 (Database Management System,DBMS) DB-Engines 数据库管理系统单月流行度排行 数据库管理系统流行度走势图DB-Engines 年度数据库管理系统评选规则DB-Engines近年年度数据库原创 2022-12-03 11:49:41 · 284 阅读 · 0 评论