游乐游手机版
首页/网络安全/文章详情

建站之星全版本后台Getshell漏洞解析与修复方法

时间:2026-07-28 06:29
最近在折腾一个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方式发送一个创建目录的请求。例如:

https://admin/fckeditor/mkdir.ajax.php?basedir=upload/image/&newdir=shell.asp

返回0,表示创建成功。虽然系统内部过滤了“.”,但后端脚本压根没管。前端延迟过滤一旦被绕过,就能直接创建asp解析目录。

修复方案:

最直接的做法是给mkdir.ajax.php加上身份验证,确认当前用户是合法管理员。同时,对newdir参数进行严格的过滤处理,例如只允许字母、数字和特定安全字符,禁止创建包含“.”的目录或特殊字符的目录。后端不能完全依赖前端的过滤,安全控制必须在服务器端实现。

来源:https://www.jb51.net/hack/56457.html
上一篇零基础从入门到精通网络安全完整指南 下一篇AlstraSoft联盟网络专业版远程SQL注入漏洞分析与防范
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。