WEB安全之SQL注入(2)——mysql特性

前言

大家好,我是阿里斯,一名IT行业小白。今天我为大家分享的内容是mysql数据的一些特性,为后面分享的sql注入打下一定的基础。另外我还会在本篇文章中分享一个sql注入靶机和一个便携式渗透测试浏览器(已安装好各种插件),希望能够帮助到大家。

MySQL数据库几种注释

#                  单行注释   url编码 %23

--                 --后面跟一个空格

/*       */        块注释

/*!       */       内联注释

内联注释特点

内联注释是基于块注释衍生出的一种注释风格,内联注释有个特殊的特点,这个特点和M有SQL的版本关系密切,接下来我们一起来看内联注释和MySQL版本到底有什么关系!

(1)测试第一步,讲数据库所有数据全部查出

在这里插入图片描述
(2)为sql语句添加where子句,可以发现结果只有一条
图片
(3)将where子句使用内联注释包裹,虽然where子句被注释,但是非常明显,该子句依然有效
图片

(4)查询MySQL数据库版本
图片

(5)在刚刚的语句中添加一个数字为80013,查看结果
在这里插入图片描述

(6)将数字小于80013,再看结果

图片

(7)总结内联注释特性

mysql的数据库版本是8.0.12,这个版本号还可以写成8.00.12,由此这个版本号切换成纯数字可以是80012,根据上面的试验得出,在内联注释中的数字小于等于版本号时,sql语句可以被执行,反之则不可以。

MySQL函数

user() 返回MySQL当前登录的用户名和主机名

database() 返回当前数据库名称

@@basedir 返回M有SQL的安装路径

@@datadir 返回MySQL文件的存放路径

@@version_compile_os 返回操作系统版本

@@version 返回MySQL数据库版本

MySQL读取文件函数

load_file()函数读取文件

前提:

必须有权限读取并且文件必须完全可读

有文件的完整路径

能够使用union查询(sql注入时)

对Web目录有写权限用户必须有secure_file_priv=文件权限

欲读取文件必须小于max_allowed_packetde的允许值

secure_file_priv的值

    secure_file_prive=null     限制mysqld不允许导入 | 导出

    secure_file_priv=/tmp/   限制mysql的导入 | 导出 只能发生在/tmp/目录下

    secure_file_priv                 不对mysql的导入 | 导出做限制

测试

其实前提条件中你最需要关心的时绝对路径和secure_file_priv权限,因为其他的东西除非特殊设置,一般情况下不会影响我们

(1)查看secure_file_priv的值,可以看到它没有值,没有值代表可以读写任意目录
图片
(2)文件内容读取成功
图片

into outfile 写文件函数

前提

文件名必须全路径(绝对路径)

用户必须有secure_file_priv=文件权限

没有对 ‘ 单引号过滤

能够使用union查询(sql注入时)

对web目录有写权限

测试:

这次就不再查询secure_file_priv的值了,因为已经确认可以随意读取了
在这里插入图片描述在这里插入图片描述

MySQL连接字符串函数

concat(str1,str2…) 横向合并

concat(“分割字符”,str1,str2…) 横向合并,并通过指定字符分割

group_concat(str1,str2…) 纵向合并,结果只有一条数据

图片
连接函数综合使用小练
图片

MySQL中Information_schema库

这个数据库是MySQL数据库中特点,在这个数据库中有三个表,这三个表存放了所有的数据库名,所有数据表明和所有数据表的字段名。这个数据库不但方便了数据库管理同时也方便可sql注入。

SCHEMATA表

字段:SCHEMA_NAME(所有库名)

TABLES表

字段:TABLE_SCHEMA(所有库名) TABLE_NAME(所有表名)

COLUMNS表

字段:TBALE_SCHEMA(所有库名),TABLE_NAME(所有表名),COLUMN_NAME(所有字段名)

测试

图片## 靶机获取
SQL注入靶机和便携式浏览器大家可以到我的公众号发送消息:靶机获取

今天分享的内容十分的杂乱但是也都非常的实用,我小白,期待成为别人眼中的大佬,如果你也是,我们一起加油好吗?
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anansec

打赏是我创作路上的加油剂!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值