红头船企业网站系统HTCCMS 漏洞分析

2013-04-10 13:32:22 8 2720
红头船企业网站系统HTCCMS 漏洞分析


BY:风之传说

一年木有玩黑了,最近一个月又重新拾取。。挺想念大家。这篇文章,肯定会让大牛笑话。那就当个抛砖引玉吧。另外,由于时间关系,这个程序没有接着看。 先发一篇文章吧,我怕又被清理了。。


还有,那个啥漏洞板块我发不了文章,显示是没有权限的。。。我就发到这里了。。

1.漏洞一,爆路径。

首先,开始,安装这个程序,安装完毕。


显示:删除文件成功,但无法完全删除,因为本程序不能删除自身。剩下的文件不会对网站安全构成威胁,若要彻底删除,请手动删除install文件夹。


好吧,随手点了一下刷新,漏洞就出来了。。


爆路径,好吧我们来看看。代码。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="pragma" content="no-cache" />
<title>HTCCMS 1.0 beta2 安装</title>
</head>
<body>
<?php
unlink('#data.mdb');
unlink('deal.php');
unlink('index.php');
unlink('sit_index.php');

?>
删除文件成功,但无法完全删除,因为本程序不能删除自身。剩下的文件不会对网站安全构成威胁,若要彻底删除,请手动删除install文件夹
</body>
</html>
大家看到了。代码其实很简单,就几行,因为第一次删除了那些文件,第二次没有找到那些文件所以报错。

2.包含

好吧,第一眼,我喜欢看index.php文件,为什么呢,因为主页他的功能很多,而且可以看出他写代码的格式,加载了哪些文件,其他的文件基本类似。。
然后看了下,漏洞又出来了。。
<?php
require('include#/common.php');
if(isset($_POST['cmd']))
{
        $file = isset($_POST['file'])?$_POST['file']:'submit';
        require('index#/'.$file.'.php');
        exit();
}
$url = $_SERVER['QUERY_STRING'];
if($url == '')
{
        if(S_FLASH != 1)
        {
                $path = 'index#/index.php';
        }else{
                $path = 'index#/flash.php';
        }
}else{
        $arr = explode('/',$url);
        $path = 'index#/'.$arr[1].'.php';
}
require($path);

//红头船
?>
漏洞利用:


为了方便测试,我本地建了一个1.php  代码为 <?php phpinfo();?>



在这里,下面还有一个包含,只是由于他是用 / 来分拆字符串,那么../../跳目录的话就会有影响,只能包含他index#里面的文件。那这也是他程序本身的意思吧,所以貌似也不算漏洞。


其他的文件估计也有包含,因为他写程序思路一样,所以不看了。

关于作者

风之传说28篇文章1890篇回复

评论8次

要评论?请先  登录  或  注册