《小迪安全》第13天 SQL注入:Mysql注入

文章讲述了SQL注入攻击中的权限利用,如通过root权限进行跨库查询,利用information_schema获取数据库信息。同时,讨论了文件读写操作,包括load_file()和intooutfile的使用,以及如何检测和防止SQL注入。提到了网站路径获取的多种方式,并强调了防注入措施如魔术引号和WAF的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

案例演示

一. 普通用户 & root用户操作权限

跨库查询及对应思路

二. 文件读写

三. 网站路径获取

四. 防注入相关手段

补充:数据库注入 -> mysql低版本 -> 暴力查询或结合文件读取

在上一讲中, 首先通过order by获取注入字段数,再通过管道判断前端通过哪几条管道输出,替换可以输出信息的管道为注入语句,通过以下方法获取到相关信息:

数据库版本:version()             5.7.22-0ubuntu0.16.04.1
数据库名字:database()            mozhe_Discuz_StormGroup
数据库用户:user()                root@localhost
操作系统:@@version_compile_os    Linux

user() 获取当前注入点的用户权限。靶场返回的root权限是mySQL数据库里的最高权限。

一般网站采用独立式搭建,互不干扰:(这是最基础的数据库模型,现在大网站都是分布式数据库)

数据库A=网站A=数据库用户A	——>表名——>列名——>数据
数据库B=网站B=数据库用户B	——>表名——>列名——>数据
数据库C=网站C=数据库用户C	——>表名——>列名——>数据

root权限可以跨库查询。跨库查询的前提条件是必须高权限的用户才能执行跨库查询。

案例演示

一. 普通用户 & root用户操作权限

跨库查询及对应思路

本机 127.0.0.1 启动了不止一个网站,网站“淡然图标系统”源码存于 D:\phpstudy\phpTutorial\WWW\sqqyw 下,对应数据库在mysql中为qqyw。

通过 root 身份登陆 mysql,查看 databases:

那么 root 权限下,可以通过 Sqlilab 的注入点,跨库查询 qqyw。

同一个服务器,一般用的同一个数据库,某数据库对应的网站若有 root 型注入点,就存在被跨库攻击/查询的风险。

Mysql5.0 及以上的版本存在一个 information_schema 数据库,存储记录所有的数据库名、表名、列名,可以通过这个数据库获取数据库下面的表名和列名。

有了 root 型注入点,就可以通过 information_schema 查询别的数据库。

information_schema 的 SCHEMATA 表存储当前 mysql 实例中所有数据库的信息,show tables; 即可查看当前所有数据库的信息。

mysql> select * from SCHEMATA;
+--------------+--------------------+----------------------------+------------------------+----------+
| CATALOG_NAME | SCHEMA_NAME        | DEFAULT_CHARACTER_SET_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值