evoArticles网站管理系统任意文件上传漏洞

影响版本:
evoArticles <2.1.3

程序介绍:
evoArticles是一套国外开源的CMS程序

漏洞分析:

在文件index.php中:
switch ($_SERVER['QUERY_STRING'])
{
case "addimage":
$content = $art->do_addimage($_GET['for']); //第35行
......
在文件admin/lib/class_articles.php中:
function do_addimage() //第1739行
......
if ($_FILES['image']['size'] > 0) //第1765行
{
// valid extension
$ext = $admin->get_ext(strtolower($_FILES['image']['name']));

//check if extension is valid
//if (in_array($ext,$valid_extension) == FALSE)
//{
$size = getimagesize($_FILES['image']['tmp_name']); //关键处
if ($size[0] == 0 || $size[0] == '')
{
$content = $admin->warning($evoLANG['invalidtype']);
eval("echo(/"".$page->gettemplate("popup")."/");");
exit;
}

$time = time();
$imgurl = $this->upload_dir.$time."_".$_FILES['image']['name'];

@copy($_FILES['image']['tmp_name'], $imgurl);

程序只用了getimagesize函数来检查文件类型,可以通过copy图片和php文件的方法突破该函数,上传任意文件类型。


漏洞利用:
http://www.wavdb.com/index.php?addimage

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章