Надо отметить, что для этого проекта мы не писали админку с нуля, а затачивали предоставленную заказчиком под проект, добавляя новые модули. Поиск по сайту был настолько «крут», что исправлять его доверяли только мне — долго я матерился, ковыряясь в индийском коде. На полную переделсу поиска меня не хватило.
Прошло некоторое время. В аську стучится админ сервера компании-заказчика: «Твой проект грузит на 103% процессор MySQL-сервера!»
Где-то час выясняли, что не так, и только потом сообразили посмотреть в логи. Выяснилось, что умный Google-бот без проблем отыскал поисковую страницу сайта и стал рекурсивно насиловать проект, отыскивая ключевые слова в результатах поиска по результатам поиска...
Поиск после этого доработали, бота от страницы выдачи отвадили и даже морфологию прикрутили. Вспомнили и бессмертную фразу Стива Макконнелла: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете».
#966: Брутфорс и здравый смысл
20:45 11.06.2009, IT happens
Однажды на нашем ФГУПе слетела программа, обслуживающая электронный замок входной двери с электронными же пропусками.
Всё бы ничего, но за древностью лет инсталляха этой софтины была утеряна, и даже поиск в интернете ничего не дал. Дистрибьюторы оборудования предложили скачать новую версию, но сообщили, что поддержка нашего контроллера прекращена, так как он относится к раннему мезолиту.
Собственно, принципиальное отличие нового софта было лишь в формате БД. Контроллер в нём не определялся, но сигналы входа/выхода и ID карточки давал исправно. Я решил поправить таблицы вручную, благо, они были в формате Access, но столкнулся с проблемой — база была запаролена.
Тут же скачал несколько ломалок паролей «на попробовать». Как водится, утилиты заявляли: «Пароль я подобрала, купите меня, и я вам его скажу». Естественно, платить 20–30–80 единиц СКВ я никому не собирался, да и не пришлось — одна из программ добродушно выдала три первых знака пароля и 9 звездочек после, доказывая свою полезность и предлагая заплатить за остаток.
Выглядел пароль так: «1qa*********». Надеюсь, не надо объяснять, как я достроил его до полного?
#967: Распиливай и властвуй
13:00 12.06.2009, IT happens
Я люблю эту страну и наш изобретательный народ. Где ещё можно отыскать столько талантов в области распиливания бабла налогоплательщиков, организации изысканной халтуры и имитации бурной деятельности?!
В общем, въехали мы год назад в новое, красивое и удобное здание, заботливо почти построенное и почти отделанное по заказу Правительства Москвы. Схема примерно такая: есть заказчик, для которого генподрядчик заказывает проведение работ у субподрядчиков. Среди них поставщики, монтажники, наладчики — словом, совершенно разные конторы. Поставщик привозит аппаратуру, монтажники монтируют, наладчики запускают, а представители «обслуживающих организаций» принимают всё это дело и ставят закорючки в актах. Представителей «эксплуатирующей организации» — то есть тех, кому со всем этим работать, — особо никто ни о чем не спрашивает. При любых попытках поинтересоваться, посоветовать или что-либо проверить в ответ звучит довольно резкое напоминание о том, что утверждён проект, работы ведутся по проекту и будут приниматься на основании проекта.
Строили-строили и наконец построили. Чёрт с ним, что летом крыша протекла, в серверной капала вода из розеток, а я чуть не сошел с ума, когда, находясь на югах и сидя в час ночи на верандочке с пивом и прекрасным настроением, получил SMS от заместителя директора с вопросом: «А витая пара воды боится?» Чёрт с ним, что в десятке-другом сетевых розеток мы не обнаружили сигнала — монтажникам было лень обжимать, и они просто оставили провода в коробах, свернув их аккуратными петельками. Но вот с системой видеонаблюдения постарались ребята на славу — абсолютно все этапы её создания отдают родным идиотизмом и безответственностью.
Система: 20 видеокамер, запитанных от специальных блоков питания, которые должны работать автономно в случае отключения электричества. Камеры подключены к серверу, сервер упрятан в большой железный ящик, ящик заперт на ключ. К серверу подключены два клиентских компьютера охраны, которые по сути являются просто терминалами — обработка изображений и сохранение записей происходит на сервере.
Пару месяцев всё работало, а потом вдруг перестало. Начались чудеса — дистрибутивы с жутко лицензионным программным обеспечением непонятно где, ключ от ящика там же. Дозвонились до монтажников, выяснили, что все у «обслуживающей организации». Представители же организации сказали, что нас они не обслуживают, поскольку Большое Начальство не заключило договор.
Читать дальше