Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Движки сайтов (CMS) (https://forum.zone-game.info/forumdisplay.php?f=47)
-   -   Stressweb - брутят (https://forum.zone-game.info/showthread.php?t=19011)

MrFresh 02.04.2012 22:41

Stressweb - брутят
 
Собственно добрый день, хотел бы предупредить администраторов l2 серверов о том что на данный момент существует и активно распространяется брут аккаунтов через SW любой версии.

Брут происходит автоматически, методом распознавания капчи, распознавание довольно хорошего уровня, защита типа "Click me" у капчи тоже обходится.
Брут многопотоковый, довольно быстрый 2-5 аккаунтов в секунду.


Метод защиты от брута смена стандартной капчи ( файл antibot.php ).

Самый простой вариант изменить шрифт на уникальный!(желательно анг. раскладки, чтоб не было проблемно для тех у кого нет рус. языка)

Шум типа полоски, точки и т.п. не рекомендую - довольно плохо для пользователей, шумы убираются легко.

Рекомендую использование наклонение, скручивание символов и их "слипание" друг с другом.


Не сочтите за рекламу, но данная статья довольно познавательная: http://intsystem.org/295/analiz-captcha-algorithms/

В интернете очень много статей по поводу создания своей капчи, поэтому без труда найдете в гугле яндексе, или где там еще ищете))

P.s. не забывайте сделать резервную копию старой antibot.php чтоб в случае неудачного создания своей капчи можно было вернуть прежнюю.


Брут выкладывать не буду, кто желает провести "тест" на своем СВ - можете отписать мне в пм.

pickwick 02.04.2012 22:57

Re: Stressweb - брутят
 
Видел эти брутеры, есть два варианта (платный и бесплатный),автор одного из них админ l2mad'a, который как не которые помнят недавно пытался тут срубить денег с NotSpecified'a.

По мне так лучше вообще убрать авторизацию лк с сайта и сделать нечто подобное, http://gyazo.com/8096eb7ff4c08cd25a45ff5bcffbe09b.

Romka 02.04.2012 23:54

Re: Stressweb - брутят
 
3 раза неверно ввёл акк = бан на определенное время
выставить ограничение на кол-во подключений
в конце концов ввести префиксы...

MrFresh 02.04.2012 23:56

Re: Stressweb - брутят
 
Платная и бесплатная? Не вы о другом подумали, со слов автора брута его бесплатный брут эффективней той "платной" версии о которой вы имели ввиду в 4 раза... И распространяется он под весьма высоким хайдом.

Romka 03.04.2012 00:01

Re: Stressweb - брутят
 
MrFresh, Я привёл методы защиты от брута :)
Лично у меня был префикс по желанию. То есть не хочешь аккаунт с префиксом, будь добр отвечай за него сам. При взломе такого аккаунта я ссылался на принятие ответственности на себя и ничего не делал.
Я не в курсе кто там и что распространяет, мне пофиг на это :)

pickwick 03.04.2012 00:16

Re: Stressweb - брутят
 
Цитата:

Сообщение от RomkaCW (Сообщение 174906)
3 раза неверно ввёл акк = бан на определенное время
выставить ограничение на кол-во подключений
в конце концов ввести префиксы...

Всё это можно легко обойти.

1. В стрессе уже есть такая функция, меняем php session id и у нас нет бана, если ввести бан по айпи, будут использовать прокси.

2. Будет банить обычных пользователей, т.к. они любят открывать кучу страничек ну и можно будет просто уменьшить кол-во потоков, что лишь не надолго увеличит процесс брута или опять же использовать прокси.

3. Более менее нормальный вариант, но всё равно не 100% гарантия. Имеем к примеру базу на 10к. акков, при реге можно выбрать один из 10 префиксов, добавляем к каждому логину эти 10ть префиксов, в итоге время брута увеличится в 10ть раз (это где то +1,2 часа), но желанный результат получим. Можно конечно сделать что бы префикс выдавался рандомно и было 200+ вариантов, но будет куча жалоб о том "админ я забыл мой префикс".

По этому ещё раз повторяю по мне самый надёжный вариант, убрать авторизацию на сайте и сделать основные функции лк без неё -)

Romka 03.04.2012 00:17

Re: Stressweb - брутят
 
pickwick,
у меня префикс рандомно генерится. Да и не только у меня. Разве суть префикса на в его рандомности?

pickwick 03.04.2012 00:19

Re: Stressweb - брутят
 
Я видел лишь пару сайтов где при реге был префикс и у всех можно было выбирать один из вариантов. Один из минус радномного метода я уже назвал, не говоря уже о том что игроков будет напрягать вводить каждый раз префикс -)

Romka 03.04.2012 00:22

Re: Stressweb - брутят
 
pickwick, перечитай моё сообщение. У меня префикс по желанию.
Есть чекбокс "Использовать префикс ***"
Если снять галочку, то выскочит блок с таким вот информационным сообщением, где текст написан красным цветом: "Внимание! Если вы отказываетесь использовать префикс, то ваш аккаунт теряет техническую поддержку со стороны администрации. Ознакомьтесь с дополнительной информацией здесь."
И всё. Никаких проблем нет :)

pickwick 03.04.2012 00:25

Re: Stressweb - брутят
 
Я же написал что префикс это норм вариант но со своими минусами -)
А ты мне пытаешься что то доказать, как будто я сказал что "это га*но да и сам ты к*кашко" :)

linliss 03.04.2012 00:27

Re: Stressweb - брутят
 
Цитата:

Сообщение от RomkaCW (Сообщение 174919)
pickwick, перечитай моё сообщение. У меня префикс по желанию.
Есть чекбокс "Использовать префикс ***"
Если снять галочку, то выскочит блок с таким вот информационным сообщением, где текст написан красным цветом: "Внимание! Если вы отказываетесь использовать префикс, то ваш аккаунт теряет техническую поддержку со стороны администрации. Ознакомьтесь с дополнительной информацией здесь."
И всё. Никаких проблем нет :)

вешать ответственность на игрока, иза своей корявой обвязки - это определенно успех

Romka 03.04.2012 00:30

Re: Stressweb - брутят
 
pickwick,
Цитата:

игроков будет напрягать вводить каждый раз префикс
Никого какашкой я не называю :)

Цитата:

Сообщение от linliss (Сообщение 174921)
вешать ответственность на игрока, иза своей корявой обвязки - это определенно успех

100% защиты не существует, однако чем больше всякий препятствий будет, тем лучше.

BigSnake 03.04.2012 01:25

Re: Stressweb - брутят
 
стандартная капча на SW это породие на защиту, я помню где-то полтора года назад написал ее распознавание за пару часов, ставьте нормальную капчу с искаженным шрифтом и местами наезжающими друг на друга символами и никто ее ломать не будет, (пример http://captcha.ru/kcaptcha/) а китайцам на распознавание для брута не эффективно капчи посылать

TARAN 03.04.2012 02:35

Re: Stressweb - брутят
 
Кто может скинуть в ПМ или сюда прогу для брута, если она работает как я думаю, то выложу еще один способ ее блока.

NotSpecified 03.04.2012 10:08

Re: Stressweb - брутят
 
Это все актуально для ранних релизов. Мы выпустили обновление 2 дня назад где уже есть ReCaptcha и префиксы. К тому же исправлена ошибка с возможным обходом стандартной капчи.
В версии 13.04.01 уже сложней брутить. Надо подключать антигейт.

http://screenshot.ru/screen/04.03.12...2_0a1e6638.png

Всплывает окно, которое можно закрыть через крестик. Данные с него соответственно вводятся в строку проверочного кода.

Тоже самое с регистрацие, только тут поле с капчей уже встроено.
http://screenshot.ru/screen/04.03.12...1_2625aecf.png

Credo 03.04.2012 10:23

Re: Stressweb - брутят
 
Цитата:

Сообщение от TARAN (Сообщение 174932)
Кто может скинуть в ПМ или сюда прогу для брута, если она работает как я думаю, то выложу еще один способ ее блока.

Исходники у него же на странице. Не знаю - то, что Вам нужно или нет. Хотя, я не думаю, что механизм распознавания капчи настолько существенно отличается, чем аналогичные.

TARAN 03.04.2012 10:56

Re: Stressweb - брутят
 
Цитата:

Сообщение от Credo (Сообщение 174969)
Исходники у него же на странице. Не знаю - то, что Вам нужно или нет. Хотя, я не думаю, что механизм распознавания капчи настолько существенно отличается, чем аналогичные.

Спасибо конечно, но я спрашивал про сам брутер, а не методику распознавания капчи.

Nycs 07.04.2012 18:39

Re: Stressweb - брутят
 
Вообще глупенькие сообщения в теме..
1. Префикс-постфикс. Что это? Это тот же логин, только длиннее. Был user_login, с префиксом станет hrenov_prefix_user_login. В чем защита? Она имеет смысл только в случае, если пользователь использует один и тот же логин на все серверах (включая сервак, с которого слили базу и она есть у брутера). При таком раскладе с вероятностью 80% этот лапух (пользователь) будет использовать и пароль тот же. Гемороить пользователей префиксами-постфиксами - бред сивой кобылы, а не защита.
2. Капча. Уже давно владельцы ресурсов, уважающие своих пользователей отказались от нее полностью, или частично (примеры - яндекс, контакт. Просит ввести капчу, когда слишком много запросов с ip пользователя).

Защита. Ну самый, на мой взгляд, веселый - это рандомно менять названия полей в форме, а соответствия названий хранить в базе на сервере с привязкой к сессии. Например можно случайным образом называть поле login как password, а пароль логином соответственно ;) В такие моменты жалею, что не могу увидеть лицо школьника, натужно пытающегося разобраться как же так)))

Добавлено через 3 минуты
Да и еще: отказываться от авторизации на сайте из-за того что сам не в состоянии обеспечить безопасность пользователям - это глупо, и уж тем более такой подход нельзя называть хорошим, или правильным решением!

UPD:
Добавлено через 2 часа 2 минуты
На самом деле реальная защита - это блокировать доступ к сайту для определенного ip. И прокси тут брутера не сильно спасут. Например ставлю я ограничение скажем... 3 запроса в секунду с одного ip - это бан на 5 секунд. 4й запрос увеличивает время бана вдвое и так далее. В результате все прокси будут в бане. Ну а если он начнет брутить по 2 запроса в секунду.. считаем:

Предположим есть 100 прокси (что для юного дарования, скачавшего самую быструю брутилку, уже не так мало), пренебрежем их пингом и получим 200 паролей в секунду.

Подбор по словарю отброшу сразу, у меня стоит ограничение на пароль такое что должны быть буквы разных регистров и числа. ( слов, подобных SomEWoRd23 в словарях нету )

Теперь считаем надежность паролей:
1 символ = 62 варианта (a-z + A-Z + 0-9) = меньше секунды.
2 символа = 62^2 (во второй степени) это 3844 - это около 19 секунд
...
6 символов = 62^6 = 56 800 235 584 - это займет у нашего брутера около... 9 лет.

Предположим у брутера 1000 уникальных IP... ну да, это чуть меньше года... 10к IP - месяц!!

Какая еще защита от брута нужна?

NotSpecified 07.04.2012 21:42

Re: Stressweb - брутят
 
Блокировка IP - решение глупое и самое простое если человек не знает что больше делать или вообще не понимает с чем он работает. Заблокировав 1 внешний адрес, можно получить проблем с доступом у тех кто сидит за этим шлюзом.

Nycs 07.04.2012 22:18

Re: Stressweb - брутят
 
Цитата:

Сообщение от NotSpecified (Сообщение 176327)
Блокировка IP - решение глупое и самое простое если человек не знает что больше делать или вообще не понимает с чем он работает. Заблокировав 1 внешний адрес, можно получить проблем с доступом у тех кто сидит за этим шлюзом.

Один внешний ip на подсеть - явление не частое. Как правило это офисы. Домашний интернет уже давно не имеет такой проблемы ни в Москве, ни в других городах нашей необъятной родины. Это раз.

Два - это тот факт, что в лк пользователи заходят совсем не часто.. я бы даже сказал крайне редко. При грамотной настройке времени бана на ip будет возможно один - два зря-заблокированных (временно) пользователей. Это допустимые жертвы при том, что данный метод гарантирует 100% защиту от брута (калькуляции в моем посте выше: на 6-ти значный пароль, имея 10к уникальных ip уйдет месяц)

Три. Если кто-то решит брутить - со своего ip этого делать точно не будет, а через прокси никто в лк не лазиет, так что забаненые прокси - это вообще не потери.

И теперь аргументируйте пожалуйста вашу фразу "решение глупое". Я как раз прекрасно понимаю с чем имею дело, и постоянная безопасность и отсутствие капчи для меня имеет более высокий приоритет, чем тот факт, что один-два человека из нескольких тысяч не смогут зайти в свой лк в течение нескольких секунд.

Добавлено через 3 минуты
Ну а если вас не устраивает вариант с блокировкой - можно не блокировать, а предлагать капчу. Исключительно в тех случаях, когда идет превышение лимита запросов в 1 сек с одного ip. К слову, именно так поступает яндекс, а вконтакте чередует блокировку ip и ввод капчи

Visor 08.04.2012 23:35

Re: Stressweb - брутят
 
Это кстати актуальная проблема. Все по своему правы.
На деле чем больше препятствий от брута тем лучше.
Насчет префикса логина - это неправильно и неудобно.

Это должно быть комплекное решение.
1) Настроить фаревол для порезки асинхронных соединений, сильно частых соединений
2) усложнить рисунок капчи
3) включить файревол в движке сайта, в SW этого правда нету

Самая тру стратегия от брута - это гнобить брутера банами автоматически на время в итоге брут растянется на месяцыт - а брутеры такого не любят и быстро "сдыхают".

Если после этого проклюнулся брутер - то это будут единичные ИП которые легко побанить - что отберет время у брутера и т.д. пока у него брутерка не поломается.

Не в обиду будет сказано, но SW слабоватый по защитным свойствам движок - и там с ним еще работать и работать чтобы поднять безопасность самого движка, дополнительно можно бы внедрить теже проверки слабых мест в ПхП для админов которые этого не понимают.

Все что я написал это не выдумки, а долгий опыт больбы с читерами и брутерами.
Если кто не понимает о чем написано, или понимает, но не может настроить защиту сервера, но хочет чтобы ему настроили файревол и пхп от потенциальных дырищ - за денежку помогу. Это еще и защита от ддоса- нормально настроенный файревол (не от всякого на 100%, но от большей части) Пишите в личку.

Place 08.04.2012 23:47

Re: Stressweb - брутят
 
защита должна быть в первую очередь для нубов - которые разбрасывают свои логины и пароли по всему интернету.
их же потом и раздевают
они же потом и ноют

pchayka 08.04.2012 23:50

Re: Stressweb - брутят
 
защитите моих игроков чтобы они не давали свои аккаунты "погонять", "консте", "ПЛу", "васе, которого я с 5го класса знаю".

плачу $

Visor 08.04.2012 23:51

Re: Stressweb - брутят
 
От этого нельзя защититься, а также от псевдодрузей - в этом виноваты сами игроки - но вот когда брутом нарубили аккантов - это уже вина администрации и вы игроку ничего не расскажете, что мол это брутер мощный или еще что-то - обязательно будет раздет игрок - который точно не давал никому пароля и он обгадит вам весь форум и разорвет жопку. Вот это как раз должно быть исключено для проекта, который позиционируется как взрослый и защищенный.

Place 08.04.2012 23:52

Re: Stressweb - брутят
 
Цитата:

Сообщение от pchayka (Сообщение 176749)
защитите моих игроков чтобы они не давали свои аккаунты "погонять", "консте", "ПЛу", "васе, которого я с 5го класса знаю".

плачу $

и клали они как обычно свою пику на привязку к hwid :redlol:

pchayka 08.04.2012 23:55

Re: Stressweb - брутят
 
Цитата:

Сообщение от Visor (Сообщение 176750)
От этого нельзя защититься, а также от псевдодрузей - в этом виноваты сами игроки - но вот когда брутом нарубили аккантов - это уже вина администрации и вы игроку ничего не расскажете, что мол это брутер мощный или еще что-то - обязательно будет раздет игрок - который точно не давал никому пароля и он обгадит вам весь форум и разорвет жопку. Вот это как раз должно быть исключено для проекта, который позиционируется как взрослый и защищенный.

В 90% случаев раздетых игроков он никому паролей не давал, что такое конста не слышал, пла у него, антивирус стоит, почта в пентагоне, на других серверах не использовал и как такое могло случиться не знает. :Olen':

Добавлено через 1 минуту
Вообще непонятна мне эта проблема брута в вебе... Ограничить попытки входа на один аккаунт 2-3 разами, далее бан. И капчи не надо, и ипы не блокировать.. А если у юзера такой пароль, что со 2го раза по словарю его подбирает - кто его врач, дайте визитку.

Visor 09.04.2012 00:05

Re: Stressweb - брутят
 
Цитата:

Сообщение от pchayka (Сообщение 176752)
В 90% случаев раздетых игроков он никому паролей не давал, что такое конста не слышал, пла у него, антивирус стоит, почта в пентагоне, на других серверах не использовал и как такое могло случиться не знает. :Olen':

Добавлено через 1 минуту
Вообще непонятна мне эта проблема брута в вебе... Ограничить попытки входа на один аккаунт 2-3 разами, далее бан. И капчи не надо, и ипы не блокировать.. А если у юзера такой пароль, что со 2го раза по словарю его подбирает - кто его врач, дайте визитку.

Все равно попадется чел, который не давал никому пароль от своего мейна которого раздели - и проверить это можно потом по ид компа - когда брутер начнет сплошняком ломится на аккаунты выбрученные и раздевать всех чаров сплошняком. Не надо себя обманывать, типа игроки все идиоты.
Если брутер хороший он выбрутит за день штук 100-200 аккаунтов и каждый день будет лезть все дальше и дальше по чарам.

Насчет входа на один аккаунт - как это интересно реализовать в вебе - это как-то не в тему брута. Брутеру не важно заходить на аккаунт, ему важно вычилить аккаунт и пароль через какую-то страницу на сайте - чтобы потом зайти и раздеть чара спокойно и без паники.

Romka 09.04.2012 00:08

Re: Stressweb - брутят
 
Вот префикс и служит от защиты подбора заранее известных акков, слитых с других серверов. Не забывайте, что можно еще и вручную их пробивать, вбивая в сам клиент. Так же видел брут-автокликер, который работал именно через клиент, автоматом вбивая в него данные.
А автобана за N кол-во попыток неудачного логина в клиенте я еще нигде не видел.

pchayka 09.04.2012 00:10

Re: Stressweb - брутят
 
То, что игроки - идиоты меня убеждать нет толку, закрепленный факт.

Цитата:

Сообщение от Visor (Сообщение 176755)
Насчет входа на один аккаунт - как это интересно реализовать в вебе - это как-то не в тему брута. Брутеру не важно заходить на аккаунт, ему важно вычилить аккаунт и пароль через какую-то страницу на сайте - чтобы потом зайти и раздеть чара спокойно и без паники.

Что значит вычислить пароль и аккаунт через страницу на сайте? По айпи вычислить или как?

А блокировать возможность авторизации на аккаунт в вебе после n попыток - это дело тривиальнейшее.

linliss 09.04.2012 00:11

Re: Stressweb - брутят
 
Цитата:

Сообщение от RomkaCW (Сообщение 176756)
А автобана за N кол-во попыток неудачного логина в клиенте я еще нигде не видел.

зайдите к конфиг логин сервера:redlol:

pchayka 09.04.2012 00:12

Re: Stressweb - брутят
 
Цитата:

Сообщение от RomkaCW (Сообщение 176756)
Вот префикс и служит от защиты подбора заранее известных акков, слитых с других серверов.

даже если он знает аккаунт - не зная пароля и с нормальной системой блокировки он может обломиться сразу же.

ну вот логин у меня admin, а дальше что.

Visor 09.04.2012 00:18

Re: Stressweb - брутят
 
Цитата:

Сообщение от RomkaCW (Сообщение 176756)
Вот префикс и служит от защиты подбора заранее известных акков, слитых с других серверов. Не забывайте, что можно еще и вручную их пробивать, вбивая в сам клиент. Так же видел брут-автокликер, который работал именно через клиент, автоматом вбивая в него данные.
А автобана за N кол-во попыток неудачного логина в клиенте я еще нигде не видел.

У меня так на логин-сервере. Поэтому брутеры и обламываются быстро на логин пробивать.

Добавлено через 55 секунд
Цитата:

Сообщение от pchayka (Сообщение 176757)
То, что игроки - идиоты меня убеждать нет толку, закрепленный факт.


Что значит вычислить пароль и аккаунт через страницу на сайте? По айпи вычислить или как?

А блокировать возможность авторизации на аккаунт в вебе после n попыток - это дело тривиальнейшее.

Может быть прокси 25к фейк ИП - вычисляй)

pchayka 09.04.2012 00:21

Re: Stressweb - брутят
 
Вот и мне непонятно что там можно вычислить в вебе том.

Romka 09.04.2012 00:24

Re: Stressweb - брутят
 
Цитата:

Сообщение от linliss (Сообщение 176758)
зайдите к конфиг логин сервера:redlol:

Беру свои слова обратно, я перегрелся:redlol:

Самый надежный метод - рандомные логины из 16 букв/цифр :redlol:

Visor 09.04.2012 00:25

Re: Stressweb - брутят
 
Насчет как можно вычислить.

Берут базу аккаутов паролей грузят в брутер, брутер настраивают на страницу где есть авторизация в личный кабинет, или авторизации на сайте но под реальными аккаунтами - и вперед. Потом брут отсеивает в файлик тру аккаунты с паролями. Потом брутер садится и спокойно чешет по аккаунтам и сгребает шмот - а потом его этим же игрокам и продает.

pchayka 09.04.2012 00:27

Re: Stressweb - брутят
 
Цитата:

Сообщение от Visor (Сообщение 176765)
Берут базу аккаутов паролей грузят в брутер, брутер настраивают на страницу где есть авторизация в личный кабинет, или авторизации на сайте но под реальными аккаунтами - и вперед. Потом брут отсеивает в файлик тру аккаунты с паролями. Потом брутер садится и спокойно чешет по аккаунтам и сгребает шмот - а потом его этим же игрокам и продает.

Ну это сработает только если у автора веба мозг рака. 2 попытки на аккаунт это не брут.

Visor 09.04.2012 00:29

Re: Stressweb - брутят
 
Цитата:

Сообщение от pchayka (Сообщение 176767)
Ну это сработает только если у автора веба мозг рака. 2 попытки на аккаунт это не брут.

Ну 2 раза с 1 ип, 2 раза с другого и так 25к раз....
Я просто описал стратегию защиты, это не только от брута. Сайт одно из слабых мест л2 серверов сейчас.
К примеру через сайт если сайт легко на инъекции делать, то можно к примеру стянуть файл паролей сервера или свн-а, можно зафигачить итем в базу себе - к примеру немерянно донат валюты и прочее. Ну и конечно брутить аккаунты просто - это самое безобидное из того что можно сделать если нет комплексной защиты.

pchayka 09.04.2012 00:32

Re: Stressweb - брутят
 
Цитата:

Сообщение от Visor (Сообщение 176769)
Ну 2 раза с 1 ип, 2 раза с другого и так 25к раз....

А причем тут IP вообще :ec:

Цитата:

Account vasya, failed login attempts: 3. Action: block login access for 30min.

Visor 09.04.2012 00:34

Re: Stressweb - брутят
 
Цитата:

Сообщение от pchayka (Сообщение 176770)
А причем тут IP вообще :ec:

Брутер не брутит 1 аккаунт, он перебирает базу, и обычно имеет кучу настроек чтобы подстроить под конкретный сервер. Ну будет через 5 раз возвращаться к аккаунту - легче от этого не станет - пробутит все рано такой подход как вход на 1 аккаунт. Он же может зайти на аккаунт и сразу выйти - этого достаточно - акк ушел в файл тру аккаунтов.

Тут речь идет о веб бруте, это не логин-сервер - в нем все проще.

pchayka 09.04.2012 00:37

Re: Stressweb - брутят
 
После пары попыток аккаунт для него отключится на полчаса например, и хоть как он будет настроен, он не обойдет эту железобетонную систему.

Ну запросит он по 3 пароля на 25к аккаунтов, во-первых он это делать будет 25к*timeout логин-попытки, во вторых получит на каждый из них 30 минут (можно и более) общего таймаута, в третьих ни одного аккаунта не подберет за это время.

Такой брут нафиг не нужен.

Добавлено через 42 секунды
Цитата:

Тут речь идет о веб бруте, это не логин-сервер - в нем все проще.
Какая разница какой, суть одна и та же может быть и там и там.


Текущее время: 14:48. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot