HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 1
Отправить сообщение для HeaVeNSeR с помощью ICQ
По умолчанию

ребят,хелп

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

Код:
Code:
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

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

Код:
Code:
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.XYZ