Author Archives: elwood
Волею судеб моей миссией стала подготовка deb-пакета. Ну, я его собираю-ставлю-пробую-удаляю-снова ставлю-удаляю и так далее. На каком-то шаге после удаления пакета обратил внимание на то, что конфиги (которые были записаны в /etc/blablabla) не удаляются. Ну удалил руками их и дело с концом. Но при переустановке пакета они не появились. Вот тут-то и начались мытарства.
Штирлиц постучал в дверь. Никто не ответил. Штирлиц постучал сильнее. Реакции не последовало. Штирлиц начал пинать дверь кованым сапогом. Дверь не поддавалась. «Закрыто» – подумал Штирлиц.
Так и я, через час бессмысленных проб и ошибок понял, что скорее всего конфиги я удалил зря, и вообще при переустановке они, похоже, не обновляются.
Оказалось, для того, чтобы удалить конфиги пакета, нужно выполнить
dpkg --purge <имя пакета>
После этого менеджер пакетов поставит где-то в своей базе флажок «конфигов для этого пакета больше нет», и при переустановке они будут заново разложены по директориям.
Дали мне ссылку на один сайт. Ссылка была обычная http. Захожу – и броузер упорно редиректит на https версию сайта, на которой сайт недоступен. В консоли броузера при этом написано что-то необычное:

При этом curl запрос на этот же сайт по http ничего странного не выдаёт – обычная HTML страница.
Так я открыл для себя Http Strict Transport Security.
Как выяснилось, эта штука работает так: если я как-то раз зашёл на https версию этого сайта и получил при этом заголовок Strict-Transport-Security, то броузер запоминает этот домен, и начинает редиректить на него все обращения по http автоматически. Что у меня и происходило.
Для Яндекс.Броузера мне подсказали унутреннюю страничку, доступную по адресу http://about:net-internals#hsts. В ней можно удалить правило для домена.

Наткнулся на прекрасный онлайн-квест https://www.alexbers.com/sql/. Прошёл его и очень всем рекомендую – я, например, хоть и знал, чем опасны SQL-инъекции, но вживую ни разу инъекцию не раскручивал. А тут как раз самое нужное – практические навыки !
После выполнения квеста в мозгу складывается довольно стройная картина. И вывод таков: при наличии уязвимости и самого маленького output’а на сайте (кол-во записей, или время выполнения запроса) из инъекции можно вытащить вообще всю базу целиком ! Грубо говоря, обладая одним битом информации и либерально настроенным mysql сервером, можно получить названия баз, таблиц, колонок и значений вообще всего 🙂
Кстати, кажется, до 5ой версии MySql это было невозможно, и приходилось угадывать и перебирать имена таблиц-колонок. Но теперь..
В общем, попробуйте, не пожалеете. За подсказками можно сходить на хабр : http://habrahabr.ru/post/253885/. Хотя там 8 и 9 решены кривовато – но в комментариях описан и “правильный” путь.
2