SQL注入之MYSQL注入

前言:

MYSQL注入中首先要明确当前注入点权限,高权限注入时有更多的攻击手法,有的能直接进行geshell操作。其中也会遇到很多阻碍,相关的防御反感也要明确。

高权限注入及低权限注入:

  1. 跨库查询及应用思路:

information_schema 表特性,记录苦命,表名,列名对应表

  1. 获取所有数据库名:

http://127.0.0.1:8080/sqlilabs/Less-2/?id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata

  1. 获取指定qqyw数据库下的表名信息:

union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='qqyw'

  1. 获取指定qqyw下的表名admin下的列名信息:

union select 1,group_concat(column_name),3 from information_schema.columns where table_name='admin' and table_schema='qqyw'

文件读写操作

读取函数:load_file()

导出函数:into outfine 或into dumpfile

路径获取常见方法:

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

常见读取文件列表:

写入文件:union select 1,’x’,3 into outfile ‘D://1.txt’

常见写入文件问题:魔术引号开关 在配置的文件中:magic_quotes_gpc参数,相同的函数还有addslashs函数。当 magic_quotes 为 on,所有的 ’ (单引号)、” (双引号)、\(反斜杠)和 NULL被一个反斜杠自动转义。magic_quotes_gpc的设定值将会影响通过GET、POST 和 COOKIE获得的数据。

类似的函数还有:is_array,is_int,str_replace。一般判断类型的是难以绕过的

魔术引号及常见防护:在魔术引号打开后,可以采用编码的方式进行绕过。

普通用户及root用户操作权限

root在MYSQL数据库中属于最高权限,除root之外其他都简称为普通用户权限。

高权限注入跨库查询操作

通过select * from schemata 进行数据库名查询,再去选择进行查询获取指明数据库里的数据。

高权限注入文件读写操作测试

会用到MySQL数据库里两个内置函数,这两个函数是MySQL数据库特有的,在其他数据库是没有的或者在其他数据库中写法不同,所以这是为什么说注入点分数据库的原因,因为每个数据库内置的安全机制和它的功能不同,这才导致在注入的时候针对不用的数据库采取的攻击思路也不同。MySQL有内置读取的操作函数,我们可以调用这个函数作为注入的攻击。

路径获取常见方法:

报错显示:一般网站出现错误的时候它会泄露出路径

遗留文件:站长为了调试信息的时候遗留的文件而泄露的路径。用扫描工具可以扫出漏洞报错:知道对方是用什么程序搭建再去网上去搜索漏洞信息:phpcms 爆路径

平台配置文件:通过读取文件来读取搭建网站平台的配置文件。缺点:路径不是默认的,一旦更改很难找到路径。
posted @   Cx330ki  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示