建站之星全版本后台Getshell漏洞解析与修复方法
最近在折腾一个FCK编辑器时,发现了一个有趣的问题:明明用的是已经修补过的版本,但一上手就遇到了障碍——创建文件夹时,系统竟然把“ ”给过滤掉了,导致解析目录无法建立。 试了多次后发现,这个过滤并非实时生效,而是存在大约0 1秒的延迟。也就是说,输入内容后,系统会先让你看到,然后才悄悄把点去掉。既然
最近在折腾一个FCK编辑器时,发现了一个有趣的问题:明明用的是已经修补过的版本,但一上手就遇到了障碍——创建文件夹时,系统竟然把“.”给过滤掉了,导致解析目录无法建立。
试了多次后发现,这个过滤并非实时生效,而是存在大约0.1秒的延迟。也就是说,输入内容后,系统会先让你看到,然后才悄悄把点去掉。既然看到了源码的存在,不如直接看看它是如何实现新建文件夹函数的。
先看一下前端这段JavaScript:
复制代码
代码如下:function addSort(obj) {
$(obj).parent().find('p').css('display','inline-block');
$(obj).css('display','none');
$(obj).parent().find('p > input:first').focus();
}
function newDir(obj) {
var pth = $(obj).prev().attr('value');
var basepth = $('#gtcurdir option:selected').text();
if (pth.replace(/^\s+|\s+$/g,").length == 0) {
alert("请输入字符");
$(obj).prev().focus();
return false;
} else {
$.ajax({
type : "GET",
dataType : "text",
url : "../mkdir.ajax.php?basedir="+basepth+"&newdir="+pth,
success : function(response) {
switch (response) {
case '0':
$(obj).prev().val("");
$(obj).parent().css('display','none');
$(obj).parent().parent().find('a').css('display','inline-block');
$('').appendTo('#gtcurdir');
break;
case '-1':
alert("文件夹已存在!");
$(obj).prev().focus();
break;
case '-2':
alert("新建文件夹失败!");
break;
}
},
error : function(response) {
alert("请求失败!");
return false;
}
});
}
}
看到这里,我注意到了一个非常有意思的细节:url : "../mkdir.ajax.php?basedir="+basepth+"&newdir="+pth,直接将前端输入的文件夹名拼接到URL中,然后发送到后端。换句话说,前端只负责发送,后端只要收到就能执行。那么,是否可以进行构造呢?
于是翻了一下后端脚本:
复制代码
代码如下:read()) !== false) {
if ($path == $newdir) {
$err = '-1';
break;
} else continue;
}
if ($err != '-1') {
if (!mkdir("../../{$basedir}{$newdir}", 0755)) $err = '-2';
}
echo $err;
?>
问题来了:这个后端脚本竟然没有验证用户是否已登录,也没有对newdir参数做任何过滤。前端的延迟过滤,纯粹是面子工程。后端这边,直接拿$_GET['basedir']和$_GET['newdir']拼接路径,然后调用mkdir()。
也就是说,只要知道后台路径,任何人都可以直接通过GET方式发送一个创建目录的请求。例如:
http://admin/fckeditor/mkdir.ajax.php?basedir=upload/image/&newdir=shell.asp
返回0,表示创建成功。虽然系统内部过滤了“.”,但后端脚本压根没管。前端延迟过滤一旦被绕过,就能直接创建asp解析目录。
修复方案:
最直接的做法是给mkdir.ajax.php加上身份验证,确认当前用户是合法管理员。同时,对newdir参数进行严格的过滤处理,例如只允许字母、数字和特定安全字符,禁止创建包含“.”的目录或特殊字符的目录。后端不能完全依赖前端的过滤,安全控制必须在服务器端实现。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
DDoS攻击的三大主要形式:原理、特征与防御重点
DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。
如何有效预防和缓解DDoS攻击:5大核心策略详解
面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。
DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。
常见DDoS攻击类型详解:原理、特征与防御策略
本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。
如何有效抵御DDOS攻击:4种核心防护方案解析
面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。
- 热门数据榜
相关攻略
2026-08-31 11:56
2026-08-31 11:56
2026-08-31 11:55
2026-08-31 11:55
2026-08-31 11:54
2026-08-31 11:53
2026-08-31 11:53
2026-08-31 11:53
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

