www.allods2.com

Игровой сервер
Текущее время: 28 мар 2024, 13:33

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 22 сен 2008, 00:01 
Не в сети
Администратор

Зарегистрирован: 24 июл 2008, 10:19
Сообщения: 211
Надо сделать какое-нить логгирование IP в кабинетах. Заходы в кабинет с IP, создание логов, создание ЛК и т.п. Этот IP ни на один лог не зареган? Ещё вроде же есть sql-инъекции, которые позволяют поиметь доступ к данным БД на чтение?


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 22 сен 2008, 00:58 
Не в сети
Администратор

Зарегистрирован: 24 июл 2008, 10:19
Сообщения: 211
1) Надо сделать опрос разных групп полутанного населения и понять, открывали ли они архив Иглеза. Стоит ли у них firewall и какой.
2) Надо понять какое количество логов было полутано у каждого этих людей. Если ровно 1 из всех логов игрока, то тогда скорее всего взлом, кража ветки реестра аллодерской и выцепление логина оттуда. Если полутаны все логи у большинства, то надо думать.
3) Все удаленные персонажи сохраняются в отдельную папку, и их можно восстановить. Вручную охренеем, только если автоматом. Надо научиться запихивать в контейнер .lgn файл-персонажа .a2c, мне кажется, что это не сложная задача. Если сумеем, то можно пихнуть в кабинет кнопку "восстановление удаленных персонажей"
4) Если это взлом посредством левых ссылок, то надо тогда сделать объявление на эту тему, где обличим подлеца, и обелим себя.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 22 сен 2008, 10:50 
Не в сети
Аватара пользователя

Зарегистрирован: 31 июл 2008, 20:04
Сообщения: 118
Снимите на всякий случай все доступы с 93.92.202.29, меня там щас нет, так что комп не безопасен, к тому же через неделю этот ип у него все равно отберут.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 23 сен 2008, 16:48 
Не в сети
Аватара пользователя

Зарегистрирован: 31 июл 2008, 20:04
Сообщения: 118
viewtopic.php?f=19&t=550

Проверьте плз, такие вещи нельзя оставлять без внимания.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 23 сен 2008, 18:11 
Не в сети
Администратор

Зарегистрирован: 24 июл 2008, 10:19
Сообщения: 211
проверили. там не то.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 24 сен 2008, 18:25 
Не в сети
Аватара пользователя

Зарегистрирован: 31 июл 2008, 20:04
Сообщения: 118
Боюсь, что я тоже не шарю (


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 24 сен 2008, 19:50 
Не в сети
Аватара пользователя

Зарегистрирован: 31 июл 2008, 20:04
Сообщения: 118
Помнится, очень удобный был скриптик, позволял просматривать статы, одежду и пак любого перса в реальном времени через статус.
Только перлов плодил столько, что комп вис напрочь. Хотя не на 100% уверен, что это по его вине.


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 24 сен 2008, 20:37 
Не в сети
Администратор

Зарегистрирован: 24 июл 2008, 10:19
Сообщения: 211
Почитал первый файл. Внес в него комментарии. Вроде все ясно:
Код:
#!/usr/bin/perl

#  Функция readi считывает 4 байта как единое число
sub readi($) {
   my $f = shift;
my $a= 0;
my $b=0;
my $c=0;
my $d=0;
   read($f, $a, 1);
   read($f, $b, 1);
   read($f, $c, 1);
   read($f, $d, 1);
   return ord($a) | (ord($b) << 8) | (ord($c) << 16) | (ord($d) << 24);
}
 # имя файла - первый аргумент коммандной строки
$fn = shift;

#значение по умолчанию
if (!$fn) {
   $fn = "test.lgn";
}
open(C, $fn) || die "Can't open character file: $!!\n";
#Работаем с открытым файлом *.lgn в бинароном режиме
binmode(C);

# id1 - второй аргумент коммандной строки
$id1 = shift;
# id2 - третий аргумент коммандной строки
$id2 = shift;

#значение по умолчанию
if (!$id1 && !$id2) {
$id1 = 0xFE72C55B;
$id2 = 0;
}

#видимо, по адресу 0x104 в файле .lgn находится количество .a2c файлов
seek(C, 0x104, 0);
my $c = readi(C);
$found = 0;
#print("$c characters total\n");

#цикл перебирает  подряд идущие id1,id2 персонажей с логина и сравнивает id1,id2 с теми, что были даны в качестве аргументов коммандной строки
for ($i = 0; $i < $c; ++$i) {
      $i1 = readi(C);
      $i2 = readi(C);
      #Переводим числа в соответствующий 16_ти ричный формат
      $i1h = sprintf("0x%.8X",$i1);
      $i2h = sprintf("0x%.8X",$i2);
      $id1h = sprintf("0x%.8X",$id1);
      $id2h = sprintf("0x%.8X",$id2);
      # print("$id1h, $id2h -- $i1h, $i2h   $i,$c\n");
      if (($i1 == $id1) && ($i2 == $id2)) {
         $found = 1;
         last;
      }
}

if (!$found) { die "Character ($id1, $id2) not found!\n"; }

#по адресу 0x188 находятся данные о смещениях относительно 0x234 и размерах файлов a2c соответствующих персонажей
seek(C, 0x188, 0);

$offs = 0x234;

#в каждом блоке по 4 байта хранится информация о том, сколько занимает a2c с текущим порядковым номером
for ($j = 0; $j < $i; ++$j) {
   $offs += readi(C);
}
#итого к 0x234 прибавили размеры всех предыдущих персонажей - это получилось $offs  - смещение относительно начала файла - тут начинается .a2c. Считаем в $sz размер a2c файла, который отвечает нашим id1, id2
$sz = readi(C);

seek(C, $offs, 0);
read(C, $buf, $sz);

binmode(STDOUT);
print STDOUT $buf;


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 24 сен 2008, 20:55 
Не в сети
Администратор

Зарегистрирован: 24 июл 2008, 10:19
Сообщения: 211
Итого, резюме:
1) Все данные находятся в 4_ех байтных блоках (word, int)
2) В блоке со смещением 0x104 находится число .a2c-файлов (файлов-персонажей)
3) В последующих блоках находятся id персонажей (id 8_ми байтный, поделен на два блока по 4 байта id1 и id2)
4) В блоке со смещением 0x188 находится размер файла .a2c первого персонажа в логине. В последующих блоках находятся размеры соответствующих персонажей (порядок тотже, что и в пункте 3)
5) Начиная с блока 0x234 в файле .lgn хранятся файлы-персонажей последовательно один за одним. Что бы получить адрес, по которому хранится персонаж № N надо к 0x234 прибавить размеры всех персонажей (можно получить в пункте 4) с 1_го по (N-1).


Вернуться к началу
  Профиль  
 
 Заголовок сообщения: Re: Тотальные взломы логов
Непрочитанное сообщениеДобавлено: 26 сен 2008, 03:35 
Не в сети
Администратор

Зарегистрирован: 24 июл 2008, 10:19
Сообщения: 211
Вопрос решили, надо выводить как беззнаковое целое. printf ("%u", id1)


Вернуться к началу
  Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB