[Из песочницы] История одного бэкдора
Предыстория
Жил-был один старый-старый сайт. Родители от него отказались, и на втором десятке лет существования он попал к нам. Он представлял из себя джунгли PHP кода, разбросанного по папкам. Все это было написано в разное время, с использованием разных паттернкостылей, в разных кодировках (до 3ёх кодировок в пределах одного файла). MVC тогда, наверное, еще не было известно, да и о шаблонизаторах разработчики не слышали, так что не стоит удивляться внезапному
<? if (cond) { ?>
в HTML разметке. Я провел не один час в увлекательных поисках нужного <? } ?>
Разработчики не забывали и про бэкапы: в корне можно было найти index.php, index_old.php, index.php.bak. Но несмотря ни на что, это чудо работало. А что работает — не трожь.Завязка
Эта история началась, когда солнечным декабрьским утром специалист по продвижению с удивлением обнаружил ссылки на чужеродные сайты в футере. Немного покопавшись выяснилось 2 вещи:
- это
сапа
; - заказчик недоумевает.
Похожие новости
- Быстрый старт в маскировании данных PostgreSQL с инструментом pg_anon
- [Перевод] Свой среди чужих: насколько токсична рабочая среда безопасника?
- [Перевод] Обход двухфакторной аутентификации в публичной баг-баунти программе: путь к $6000
- Кратко про XHTTP для VLESS: что, зачем и как
- [Перевод] Как я нашёл уязвимость в ядре Linux при помощи модели o3
- SelfCoerce для локального повышения привилегий на Windows 10
- Теория мертвого 2GIS
- Постквантовые криптостандарты США на алгоритмы электронной подписи на основе хеш-функций с сохранением состояния
- Новые возможности менеджера секретов Deckhouse Stronghold: пространства имён, резервные копии и репликация данных
- [Перевод] Single Sign-On c OpenAM и OpenIG: практические примеры реализации