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

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