[Из песочницы] Критическая уязвимость в безопасности на fl.ru
1. Пролог В последнее время в СМИ всё чаще стали появляться пёстрые заголовки о различных разоблачениях: начиная от выложенных в открытый доступ фотографий знаменитостей, заканчивая вскрытыми личными почтовыми ящиками крупных деятелей. Чего уж там говорить про повседневные будни в какой-нибудь рядовой компании, когда сотрудник использует один и тот же пароль для доступа к абсолютно всем ресурсам.Но сегодня речь пойдёт о менее ярком событии для общественности, но при этом намного более резонансном для тех, кто волею судеб работал и работает на fl.ru.
2. Критичная уязвимость в информационной безопасности fl.ru Сразу к делу. Если вы ведёте приватную переписку с собеседником и думаете, что никто кроме вас двоих не имеет доступ к этой переписке, то вы будете правы (по крайней мере обратного ещё не доказано). Но как только вы приложите к переписке файл с текстовым содержанием — будьте уверены, что он попадёт в индекс поисковой системы Яндекс.Может быть, сказанное выше совсем не баг, а фича? Может быть, я просто мало что понимаю в открытых системах? Решил провести анализ возможных узких мест.
Для этого воспользовался «безопасной сделкой», а если конкретно — тремя документами, которые генерируются в результате заключения этой сделки:
Соглашение Договор Техническое задание Никто не будет со мной спорить, если я скажу, что все 3 документа являются строго конфиденциальными. Особенно «техническое задание», поскольку в теле документа указана персональная информация участников сделки, а также стоимость работ.Давайте попытаемся узнать, можно ли с помощью Яндекса получить доступ к техническим заданиям безопасной сделки. Берём из этого документа ключевые слова: «Приложение No 1 к ОФЕРТЕ НА ЗАКЛЮЧЕНИЕ ДОГОВОРА» и добавляем операнд, локализующий поиск исключительно в рамках сайта fl.ru. В итоге, поисковый запрос получается следующего содержания: «Приложение No 1 к ОФЕРТЕ НА ЗАКЛЮЧЕНИЕ ДОГОВОРА site: fl.ru». Запускаем, смотрим, наслаждаемся.
При желании можно написать краулер, который скачивает техзадания всех безопасных сделок и подсчитывает общую сумму сделок. Я думаю, это только начало использования выявленной «дыры».
3. Попытка общения с техподдержкой Отдельным пунктом стоит отметить мои рьяные попытки донести весь ужас ситуации до техподдержки.Ниже прикладываю скриншот нашей переписки Мало того, что сотрудник службы поддержки поленился самостоятельно воспроизвести ошибку, так он ещё настойчиво убеждал меня в том, во что сам, по всей видимости, не очень охотно верил.4. Эпилог Надеюсь, данный факт послужит хорошим уроком для сотрудников всех уровней fl.ru: начиная от тестировщиков и техподдержки, заканчивая стейкхолдерами. Когда ваш проект приобретает значительные масштабы, то самое время позаботиться об информационной безопасности.Я же во всей этой истории почувствовал себя как главный герой в фильме «Дурак», которому «больше всех надо было» и которому никто не верил.
Всем удачи.