Индикатор загрузки страницы (css + pure js)

Время загрузки страницы — самая унылая часть веб-серфинга :) До того момента, пока страница не загрузилась до конца, велика вероятность что она будет отображаться не так как мы задумывали — блоки могут «наезжать» друг на друга, текст — не отображаться (пока не загрузились шрифты), про корректную работу скриптов а анимации тоже зачастую можно забыть.

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

Итак, каким же требованиям должен отвечать наш индикатор загрузки?

  • Отсутствие растровых изображений;
  • Старые браузеры — в топку, мы будем использовать современные CSS3 методы;
  • JavaScript поддерживается и включен по умолчанию более чем на 90% браузеров — не стесняемся его использовать;
  • Минимализм по возможности во всем — это же индикатор загрузки, и именно он должен загрузиться и отрисоваться у клиента быстрее всего;
  • И не забываем про адаптивность под мобильные гаджеты.

Подробнее под катом

Вывод актуальной информации при логине в систему по SSH

В репозитории ubuntu подсмотрел одну замечательную штуку, название которой landscape-sysinfo. Суть её заключается в том что при логине пользователя выводится довольно много интересной и что самое главное — актуальной информации. В результате, например, вход в систему может выглядеть так:

Где мы с ходу видим загрузку системы в настоящий момент, процент использованной памяти и занятого места на диске, количество процессов и IP адрес необходимого интерфейса.

Захотелось нечто аналогичное прикрутить и к CentOS, но ничего подходящего для этого с ходу не нашел.

Велосипеды писать нам не в первой, и при помощи одного небольшого скрипта (который будет выполняться при входе пользователя в систему) добьемся поставленной цели.

Подробнее под катом

Windows 7/8/8.1 — препятствуем сбору данных о пользователе (телеметрии)

После крайних вестей о том, что Windows Update в полу-принудительном порядке поставил пользователям Windows 7/8/8.1 обновления KB3080149 и KB3075249, которые собирают данные телеметрии и отправляют их в M$ — остро почувствовался очередной параноидальный приступ. Передача осуществляется через TCP по порту 443 с использованием SSL.

«Как то не хорошо получается» подумал я и накидал небольшой скрипт который несколько автоматизирует:

  • Удаление хреновых апдейтов и их блокирование/сокрытие (необходим PowerShell с модулем PSWindowsUpdate; ставится автоматически; если рядом (в оной директории) со скриптом находятся файлы unzip.exe и PSWindowsUpdate.zip — используются они, иначе же — они скачиваются);
  • Блокирует некоторые доменные имена средствами файла хостов (есть мнение, что MS его всё таки игнорирует в данном случае);
  • Блокирует запросы к известным на данный момент серверам по IP (как с помощью add route, так и правилом файрвола);
  • Отключает задачи планировщика, которые каким-либо образом связаны с передачей «аналитической» информации (да и не только, полный список смотри в сорце);
  • Останавливает и отключает авто-запуск сервисов, которые отвечают за отправку «диагностических данных»;
  • Отключает отправку отчетов об ошибках в M$;
  • Настраивает Windows Update на «Искать обновления, но решение о скачивании и установки принимается мной».

Подробнее под катом

Дружим Kali Linux с VMware

Для комфортной работы в Kali linux запущенной в VMware Workstation потребуется выполнить несколько простых манипуляций:

  1. Установка VMware tools:
    # В окне VMware Workstation нажимаем "VM -> Install Vmware Tools"
    $ mkdir ~/vmware && cd ~/vmware
    $ cp /media/cdrom/* ./
    $ apt-get install gcc make linux-headers-$(uname -r)
    $ tar -xvf VMwareTools-*.tar.gz vmware-tools-distrib/
    $ ./vmware-tools-distrib/vmware-install.pl
    # На все запросы нажимаем Enter
    $ service gdm3 restart
    

Подробнее под катом

Брутим пароли с Гидрой (hydra)

Статья носит носит строго познавательный характер, за применение кем либо описанных в статье методик автор ответственности не несет.

В тот момент, когда пинтест заходит в тупик — одним из крайних аргументов в тесте на проникновение является подбор паролей. Сервисы, к которым можно применить данный метод атаки — самые различные. А как следствие — различны и протоколы, и форматы обращений. Надо бы как то унифицировать инструменты для решения этой задачи — не хорошо под каждый новый случай писать новый брутер своими ручками.

И такой инструмент уже имеет место быть. Быстрый, сочный, достойный внимания — THC-Hydra. Версия 7.5 (из репозитория epel) поддерживает подбор по/для: asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp. Примеры эксплуатации мы рассмотрим чуть ниже, а пока — посмотрим как можно заполучить данный инструмент в свой арсенал.

Под катом описание всех флагов и живые примеры

Samba 4 — доступ к публичным шарам без логина/пароля

Наткнулся на одну интересную особенность Samba 4, связанную с анонимным доступом к публичным шарам. Делается это для того, чтоб пользователи могли спокойно заходить на файл-сервер и не запариваться с вводом, например, пользователя guest и пустого пароля (и в то же время существовали шары, доступ к которым возможен только после ввода пары логин:пароль).

Ранее (до третьей версии включительно) для реализации данной задачи мы пользовались указанием в секции [global] директивы security = share, а в секции самой шары — просто guest ok = yes и всё работало как надо. Теперь же надо делать чуть-чуть иначе, а именно:

Необходимо использовать директивы security = user и map to guest = Bad Password в секции [global], а так-же указывать guest ok = yes в секции шары.

Дело в том, что директивы security = share|server считаются устаревшими, именно поэтому нам и остается пользоваться security = user. Для отделения же пользователя от гостя применяется новая директива map to guest = Bad Password (смысл которой заключается в том, что если пользователь Samba существует в системе и введен неверный пароль, то вход этого пользователя отклоняется, если пользователя не существует, тогда ему присваивается статус гость). Ну а для того чтобы открыть доступ к общему ресурсу для гостей осталась старая добрая директива guest ok = yes которую необходимо указывать непосредственно в секции шары.

Подробнее под катом

Чистим интернет от назойливой рекламы (AD Blocker для MikroTik)

Данная статья является копией публикации на хабре (написанной мной же)

Данная статья является логическим завершением небольшой дискуссии с тов. vvzvlad, которая развернулась под топиком «Чистим домашний интернет от очень назойливой рекламы (Ad’s blocker для OpenWRT)«, где автор с помощью wget, sed и cron на OpenWRT успешно сливает файлы рекламных хостов, парсит и подсовывает dns-серверу dnsmasq.

Переадресовывая клиента при запросе «рекламного» домена, например, на loopback (127.0.0.1 — 127.255.255.255), вместо котента рекламы клиент получит благодатное «ничего» (разумеется, при условии, что у нас не работает локальный веб-сервер который слушает локалхост). Механизм фильтрации довольно старый и не лишен недостатков. Например, нельзя указать маски хостов (*.ad-domain.tld) или «вырезать» рекламу, баннеры которой хостятся на запрашиваемых ресурсах. Но зато не привязан к какому-то либо протоколу и довольно прост в эксплуатации. Более того, если его использовать, например, на домашнем или офисном маршрутизаторе, который используется в качестве DNS сервера, реклама успешно порежется на всех гаджетах, где IP нашей железки прописан первым в качестве DNS сервера.

Но что если у нас вместо роутера с кастомной прошивкой используется.. MikroTik (RouterOS), функционал которого накладывает некоторые ограничения? Под катом вы узнаете каким образом удалось успешно «сконвертировать» файл хостов в пригодный для него формат, как автоматизировать это дело и что для хабралюдей в качестве бонуса был создан небольшой сервис как раз для автоматизации этого процесса (маленький, абсолютно бесплатный и с открытыми исходниками).

Подробнее под катом