Discuz!NT 后台任意文件上传的源代码修补方法
相关的漏洞介绍:
http://www.wooyun.org/bugs/wooyun-2013-035199
Discuz!NT 管理后台可以自定义文件类型,从而造成任意文件上传,测试过程中 aspx文件,目录并不会解析。所以需要能解析 asp 或者php等。 过程演示【程序版本:Discuz!NT 3.6】:
. 登陆 Discuz!NT 后台,【全局】-->【附件设置】-->【附件尺寸】-->【添加附件类型】
添加需要上传的文件类型。如图,我添加了ASP
. 给用户组加上上传ASP的权限。【用户】-->【分组与级别】-->【编辑用户组】-->【编辑系统组】-->【管理员】,勾选上添加的ASP 类型。
.去前台上传上传asp文件。【附件】-->【批量上传】,选择ASP文件。
.进入后台找shell。【内容】-->【附件管理】-->【搜索附件】。
特此记录一下:
-------------------------------------------
1.先加强后台中的判断准则:Discuz.Web.Admin.attachtypesgrid.cs文件中的
private void AddNewRec_Click(object sender, EventArgs e)
{
#region 添加新的附件信息 if (extension.Text == "")
{
base.RegisterStartupScript( "", "<script>alert('要添加的附件扩展名不能为空');window.location.href='forum_attachtypesgrid.aspx';</script>");
return;
} if (extension.Text.ToLower().Contains("asp") || extension.Text.ToLower().Contains("php")||extension.Text.ToLower().Contains("jsp"))
{
base.RegisterStartupScript("", "<script>alert('要添加的附件扩展名不能为asp,php,jsp');window.location.href='forum_attachtypesgrid.aspx';</script>");
return;
}
2.再加强前台中的代码判断准则:Discuz.Forum.ForumUtils.cs文件中的
public static AttachmentInfo[] SaveRequestFiles(int forumid, int MaxAllowFileCount, int MaxSizePerDay, int MaxFileSize, int TodayUploadedSize, string AllowFileType, int watermarkstatus, GeneralConfigInfo config, string filekey, bool isImage)函数
if (fileName!=null&&(fileName.ToLower().Contains(".asp")||fileName.ToLower().Contains(".php")||fileName.ToLower().Contains(".jsp")))
{
attachmentInfo[saveFileCount].Sys_noupload = "文件格式无效";
}
// 判断 文件扩展名/文件大小/文件类型 是否符合要求
else if (!(Utils.IsImgFilename(fileName) && !fileType.StartsWith("image")) && ValidateImage(fileType, HttpContext.Current.Request.Files[i].InputStream))
现提供编辑好的DLL:Discuz.Web.Admin.dll+Discuz.Forum.dll,此编译DLL仅供测试,请自己备份好之前的DLL。
http://files.cnblogs.com/miao31/Discuz.Web.Admin.dll.rar
Discuz!NT 后台任意文件上传的源代码修补方法的更多相关文章
- 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- 易优cms后台RCE以及任意文件上传漏洞
前言 EyouCms是基于TP5.0框架为核心开发的免费+开源的企业内容管理系统,专注企业建站用户需求提供海量各行业模板,降低中小企业网站建设.网络营销成本,致力于打造用户舒适的建站体验.易优cms ...
- 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞分析
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...
- 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/ ...
- phpcms v9.6.0任意文件上传漏洞
距离上一次写博客已经过去很长一段时间了,最近也一直在学习,只是并没有分享出来 越来越发现会的东西真的太少了,继续努力吧. 中午的时候遇到了一个站点,看到群里好多人都在搞,自己就也去试了试,拿下来后发 ...
- [代码审计]eyoucms前台未授权任意文件上传
0x00 背景 来公司差不多一年了,然而我却依旧没有转正.约莫着转正也要到九月了,去年九月来的,实习,转正用了一年.2333 废话不多说了,最近有其他的事要忙,很久没有代码审计了.难的挖不了,浅的没意 ...
- 【代码审计】JTBC(CMS)_PHP_v3.0 任意文件上传漏洞分析
0x00 环境准备 JTBC(CMS)官网:http://www.jtbc.cn 网站源码版本:JTBC_CMS_PHP(3.0) 企业版 程序源码下载:http://download.jtbc. ...
- WebLogic 任意文件上传 远程代码执行漏洞 (CVE-2018-2894)------->>>任意文件上传检测POC
前言: Oracle官方发布了7月份的关键补丁更新CPU(Critical Patch Update),其中针对可造成远程代码执行的高危漏洞 CVE-2018-2894 进行修复: http://ww ...
随机推荐
- Js基础知识-入门
创建脚本块 <script language=”JavaScript”> JavaScript code goes here </script> 隐藏脚本代码 <scri ...
- part 3 Controllers in AngularJS
What happens if the controller name is misspelled? When the controller name is misspelled, 2 things ...
- jQuer中 height scrollTop
jQuery(window).height()代表了当前可见区域的大小,而jQuery(document).height()则代表了整个文档的高度,可视具体情况使用. 注意当浏览器窗口大小改变时(如最 ...
- 防止服务器被暴力破解使用DenyHosts
公司有台服务器被坏人盯上了,通过日志可以看到一直在做暴力破解ssh. 防止服务器被暴力破解使用DenyHosts 参考链接: 防止ssh破解,Ubuntu安装denyhosts的一些问题 防止你的ss ...
- sql 批量操作(存在的更新,不存在的插入)
标签: sql 2012-09-06 18:13 2408人阅读 评论(0) 收藏 举报 分类: Sql Server(123) 版权声明:本文为博主原创文章,未经博主允许不得转载. update A ...
- java开发命名规范(转载)
java开发命名规范 使用前注意事项: 1. 由于Java面向对象编程的特性, 在命名时应尽量选择名词 2. 驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而 ...
- C# 四舍五入
1,国外的标准具体是四舍六入 Math.Round(1.267,2) //Returns 1.27 参数1是需要处理的值; 参数2是小数点后保留几位 2,中国的标准 Math.Roun ...
- 基于python yield机制的异步操作同步化编程模型
又一个milestone即将结束,有了些许的时间总结研发过程中的点滴心得,今天总结下如何在编写python代码时对异步操作进行同步化模拟,从而提高代码的可读性和可扩展性. 游戏引擎一般都采用分布式框架 ...
- Java中toArray的用法探究(java数组与list转换)
转载原文地址: http://blog.csdn.net/guopengzhang/article/details/5497875 一. Incident import jav ...
- 多个相同script引用探索
1.页面直接就有,或者document.write页面加载同步输出 其实就是当script是页面初始加载的一部分的情况,script是同步的,只有在上一个加载并执行完才会进行下一个script加载. ...