Рубрика «bash» - 19

Зачем?

Gnuplot на домашней страничке - 1При разработке доступной онлайн базы данных для хранения результатов расчётов возникло непреодолимое желание представлять информацию не только в табличном виде, но и в виде графиков. Можно пойти различными путями, например, рисовать кривые в PHP, но правильнее (в смысле UNIX-way) будет использовать внешнюю программу, уже умеющую строить графики, такую как Gnuplot.

Особенно интригует возможность вывода графиков в виде набора JS комманд для рисования на HTML5-холсте (canvas), чем мы и займёмся.
Читать полностью »

Простите за мат в заголовке, это намёк на развлечение, начало которому дал язык «Брейнфак» — написать на каком-либо языке код, выполняющий что-то разумное, не используя букв и цифр. Мы уже видели JSFuck, PHPFuck, теперь я вам хочу представить Bashfuck:

__=${_##*/};____=<(:);___=${__#???};_____=$((${#___}<<${#___}))
__=${__::-${#___}}${____:$_____:${#___}}
__=$__$((${#__}|$_____))$((${#__}));___=$___${__:${#___}:${#___}};____=$($__<<<$_____|$__)
_____=${____:$((${#__}-${#___})):${#?}};___=$___$_____$_____;____=$($__<<<$____|$__|$__)
___=$___${____:$((${#?}+${#__})):${#?}};___=$___' '${____:$((${#___}+${#___})):${#?}}
___=$___${__:$((${#____}/${#___}-${#?})):${#?}};___=$___${____:$((${#____}#$_____-${#___})):${#?}}
___=$___ ${____:$((${#__}+${#?})):${#?}}${__:$((${#__}>>${#?})):${#?}}${__:${#_____}:${#?}}
___=$___${____:$((${#___}-${#?}-${#?})):${#?}};___=${___,,}
____=${____:$((${#___}+${#__}-${#?})):$((${#?}+${#?}))}
____=${____::${#?}}${__:${#_____}:${#?}}${____:${#?}};${____,,}<<<${___^}

Для запуска потребуется «Баш» четвёртой версии. Ничего вредоносного скрипт не делает смело запускайте из-под «рута», просто выведет надпись «Happy new year». Исходник надо скопировать в файл и запустить.
Читать полностью »

Каждый раз, когда неофит открывает для себя возможности баша и решает про это написать, он обязательно всем рассказывает про удобный метод «повторить команду» с использованием "!!".

Типа так:

$ touch /test
touch: cannot touch ‘/test’: Permission denied
$ sudo !!
sudo touch /test

Типа, хэппи-энд.

Я никогда такого не использовал, но не задумывался, «почему». Просто мне не нравилась эта идея.

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

echo NO ROOT PLEASE
 echo do it with sudo
sudo !!

(просто скопипастите это пример в шелл)
Читать полностью »

IPv6, miredo, dynamic DNS AAAA - 1

Захотелось странного — чтоб мои IPv6-enabled (miredo) хосты еще и динамически обновляемую DNS запись имели. Поизучав вопрос выяснил, что многие распространённые dyndns сервисы или не предоставляют возможность регистрации AAAA (IPv6 эквивалент записи типа A для IPv4), или не предоставляют её бесплатно, или имеют мутные настройки динамического обновления неизвестного уровня безопасности (или вовсе http/plaintext). Перепробовал с десяток сервисов и решил остановиться на freedns.afraid.org
Плюсы:

  • Человеко-понятная админка (без всяких «купить AAAA за $0 USD»)
  • Бесплатно дают AAAA
  • Безопасное (https) обновление
  • URL-based обновление (не приходится испытывать сомнений о конфиге для агентов типа ddclient)

Читать полностью »

На хабре не раз было упомянуто приложение под названием rkhunter. Хотелось бы остановиться на нем по подробней.

Rkhunter — это сканер различных видов локальных (потенциальных) уязвимостей (бэкдоров, эксплоитов и руткитов) со своей регулярно обновляемой базой.
Он написан на bash и perl, поэтому будет работать под любой серверной ОС на базе unix без каких-либо проблем.

Установка, настройка и использование сканера уязвимостей сервера rkhunter

Читать полностью »

Всю свою текущую разработку я веду, используя docker контейнеры, и если под Linux такой подход не вызывает никаких проблем, то под OS X некоторые моменты могут отнять невероятное количество сил и времени.

Об одном из таких моментов я и хочу рассказать.
Читать полностью »

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

К примеру, звонит клиент и просит внести изменения в договор. Ты кладешь трубку — и тут звонит твой коллега и просит тебя направить ему давно забытый материал, который нужно еще постараться отыскать. Не успеваешь ты договорить с коллегой, как звонит на сотовый директор и просит составить ему небольшой отчет. А ведь до этого ты занимался своим вопросом! Нужно всё запомнить, ничего не упустить! Типичная ситуация, не правда ли?

Для того, чтобы все успевать в таких ситуациях, поможет простая напоминалка. Но что такое простая напоминалка? Каковы критерии ее простоты?
Для меня «простой напоминалкой» является та, которая действует по следующему принципу:
Читать полностью »

В связи «открытием» повсеместно обсуждаемой в последнее время Shellshock-уязвимости (например, здесь и здесь), а также преследуя благую цель устранения возможных неприятных последствий использования этой уязвимости, сервис мониторинга сайтов ХостТрекер предоставляет возможность мгновенно определить наличие этой самой уязвимости на линуксовых серверах и установленным веб-сервером (проверка результата происходит через http).

image

Читать полностью »

Для дистрибутивов с действующей поддержкой уязвимость Shellshock устраняется простым обновлением пакета bash. Но если обновления уже не выпускаются, решение проблемы будет сложнее. Рабочих вариантов всего два — обновлять bash другим способом или отказываться от bash в пользу другого shell-интерпретатора.

Читать полностью »

image

Доброе время суток %username%! Хочу рассказать историю о том, как мой сервер каждый день подвергается атаке через CVE-2014-6271 (shellshock). Для тех, кто вдруг упустил это из виду, две публикации на «Хабре»: «CVE-2014-6271, CVE-2014-7169: удалённое выполнение кода в Bash» и «Новая опасная уязвимость ShellShock позволяет атаковать множество устройств, от смартфонов до промышленных серверов».

Итак, после того, как информация попала в публичный доступ, в логах сервера я стал видеть запросы к серверу, где заголовки содержали вызов bash. Сначала, это были безобидные запросы, где referer и UserAgent http запросы содержали вызов из bash ping xxx.xxx.xxx.xxx — можно догадаться, что это уже поиск потенциальных жертв.

Сегодня ночью стало все куда интереснее. Проверяя логи сервера я наткнулся на такой запрос:
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js