首页 > 数据库 >SQL注入之MYSQL注入

SQL注入之MYSQL注入

时间:2023-01-02 17:12:06浏览次数:58  
标签:文件 函数 数据库 MYSQL 注入 SQL 权限 schema

前言:

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 爆路径

平台配置文件:通过读取文件来读取搭建网站平台的配置文件。缺点:路径不是默认的,一旦更改很难找到路径。

标签:文件,函数,数据库,MYSQL,注入,SQL,权限,schema
From: https://www.cnblogs.com/cx330ki/p/17020182.html

相关文章

  • SQL注入类型及提交注入
    前言:在真实SQL注入安全测试中,我们一定要先明确提交数据及提交方法后再进行注入,其中提交数据类型和提交方法可以通过抓包分析获取,后续安全测试中也必须满足同等的操作才能......
  • MySql学习笔记--基础篇02
    约束外键--父表和子表,如果要删除父表的记录时,会判断子表是否存在关联关系,如果存在不予删除  多表关系一对多,在此表中建立外键关联主表的主键多对多,建立第三张中......
  • (转)主从复制报错Fatal error:The slave I/O thread stops because master and slave ha
    最后发现/var/lib/mysql/auto.cnf还有一个auto.cnf文件,我们直接执行rm-rf/var/lib/mysql/auto.cnf命令删除主机和从机中的这个auto.cnf文件就可以,当然也可以选择修改里面......
  • 注入——APC注入
    APC注入即异步过程调用,APC是一个链状的数据结构,可以让一个线程在其原本的执行步骤前执行其他代码,每个线程都维护一个APC链。当线程从等待状态苏醒后,自动检测自己的APC队列......
  • SQL Server创建dblink跨库查询
    dblink是跨库查询的主要手段,在Oracle创建DbLink中已经演示了Oracle中如何创建及使用DbLink,这篇博客看看SQLServer中如何使用。一、通过图形化界面直接创建选择当前注册......
  • MySQL-MVCC
    首先MVCC不是MySQL才有的概念,它是一种思想,一种方法论。MVCC全称:Multi-VersionConcurrencyControl多版本并发控制最早于1978年,论文『NamingandSynchronizationina......
  • Mysql常见注意事项小记
    Mysql常见注意事项小记1.排序问题正常如果按照某字段升序排列,空值会排到有值的前面;如果逆序排序空值排在最后。有时候我们需要该字段为空的行数据要排到最......
  • MySQL——基础架构
    1、MySQL逻辑架构图  2、整体解析大体上MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大......
  • MySQL大量数据入库的性能比较
    单位IM改版了用户聊天内容要存放在数据库.一般JAVAInsertMySQL有如下几种方式1.自动提交Insert2.事务提交Insert3.批量提交4.使用LoadFile接口createtablechat_message......
  • 一次故障解决过程梳理:mysql varchar text timestamp
    CHAR类型的一个变体是VARCHAR类型,char(M),M是指字节长度,和varchar(M)一样故障原因:mysql主键设置为int(9),但数据量已经大于int(9)的范围了 tips:int最大长度是11.如果......