HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.11.2013, 12:51
HeaVeNSeR
Новичок
Регистрация: 03.12.2008
Сообщений: 5
С нами: 9176819

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

ребят,хелп

в админке одной CMS есть такой аплоад файлов:

Код:
if ($input->p['do'] == "install") {
	if ($settings['demo'] == "yes") {
		$error_msg = "This is not possible in demo version";
	}
	else {
		if ($input->p['sesion_id'] != $_SESSION['sesion_id']) {
			$error_msg = "Invalid token try again please";
		}
		else {
			if ($_FILES['file']['type'] != "text/xml") {
				$error_msg = "Invalid File";
			}
			else {
				if (0 load("../upload/" . $_FILES['file']['name']);
					$langnames = $doc->getElementsByTagName("name");
					$langname = $langnames->item(0)->nodeValue;
					$langversions = $doc->getElementsByTagName("ptcevolution");
					$langversion = $langversions->item(0)->nodeValue;
					$langfiles = $doc->getElementsByTagName("filename");
					$langfile = $langfiles->item(0)->nodeValue;

					if ((empty($$langname) || empty($$langversion)) || empty($$langfile)) {
						$error_msg = "Invalid File";
					}
					else {
						if ($langversion != $software['version']) {
							$error_msg = $langname . " is not configured for PTCEvolution " . $software['version'];
						}
						else {
							$verifylang = $db->fetchOne(("SELECT COUNT(*) AS NUM FROM language WHERE name='" . $langname . "' and version='" . $software['version'] . "'"));

							if ($verifylang == 0) {
								$datastored = array("name" => $langname, "version" => $langversion, "filename" => $langfile);
								$insert = $db->insert("language", $datastored);
								$success_msg = $langname . "  was sucessfully installed! Click here to manage installed languages";
							}
							else {
								$error_msg = $langname . " is already installed on this site.";
							}
						}
					}

					unlink("../upload/" . $_FILES['file']['name']);
				}
			}
		}
	}
}
то есть,если зайти под админом,подменить Content-type на text/xml и попробывать залить shell.php - он зальется в папку upload

Код:
move_uploaded_file($_FILES['file']['tmp_name'], "../upload/" . $_FILES['file']['name']);
но тут же удалится

Код:
unlink("../upload/" . $_FILES['file']['name']);
есть ли возможность задержать файл в папке /upload/ или же успеть выполнить код?
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.