![image](https://habrastorage.org/getpro/habr/post_images/a4d/f4c/c43/a4df4cc43b05f8fd45411e4043d3992f.jpg)
Сразу хочу оговориться, что данная статья — не крик души, не бахвальство и, тем более, не попытка очернить чью-то там репутацию. Я просто призываю быть немного внимательнее пользователей услуг к сервисам компаний, которые их обслуживают, а сами компании — к сервисам, которые они предлагают своим клиентам. Иной раз такие сервисы ради удобства клиентов жертвуют их же, клиентов, конфиденциальностью. В каких пределах это происходило в моем случае — под катом.
Небольшое лирическое отступление. Если Вы их не любите, можете не открывать
Я как-то упустил момент, когда на мой телефон начали поступать странные звонки. Нет, мы все привыкли ко всякого рода «соц. опросам», предложениям сменить провайдера, посетить бесплатно какие-то салоны и пр. Странно было другое — звонили мне, а спрашивали супругу. Хотя номер зарегистрирован на меня, это я точно знаю. Для публикации всякого рода объявлений типа «куплю/продам» у меня отдельная симка, и она тоже записана на мое имя. Супруга же ну никак нигде не могла оставить свои данные и мой номер телефона. Это просто неудобно. Не то, чтобы я сильно задавался этим вопросам, но однажды я все понял. Просто удачно совпало.
В один прекрасный день на мой телефон в очередной раз позвонили из Москвы (сам я проживаю в регионе), попросили поучаствовать в опросе и спросили мою супругу. Я просто молча положил трубку. А через час мне пришло долгожданное SMS-сообщение из службы экспресс-доставки, услугами которой мы пользовались уже не первый год. Текст, аналогичный полученному, был выслан мне в Viber и на электронную почту. Данное SMS-сообщение содержало ссылку на официальный сайт компании вида www.XXXX.ru/dostavka/?hash=XXXXXXXXXXXX, пройдя по которой я мог отслеживать движение груза и управлять его доставкой (отказаться от груза, выбрать дату доставки и пр.).
Пройдя по ссылке, я увидел, что браузер автоматически залогинился с моим номером телефона и номером накладной (заполненная форма авторизации была на экране буквально секунды две), после чего я получил доступ к личному кабинету, в котором были представлены персональные данные (ФИО и домашний адрес) получателя, а также сведения о дате и времени доставки груза. И тут меня передернуло — доставку мы часто заказывали на имя супруги (ее ФИО и были указаны на сайте), поскольку она работает ближе к офису компании и забрать посылку ей обычно проще. А номер телефона был указан мой, поскольку заказываю товар у отправителя я. При этом я только сейчас обратил внимание, что совершение каких-либо действий для того, чтобы залогиниться (т.е. подтвердить свою личность), с моей стороны не требовалось вообще. Просто прошел по ссылке и вуаля! Удобно, казалось бы.
Данное обстоятельство позволило мне предположить, что любой человек, пройдя по моей ссылке, может увидеть информацию о моем отправлении (а заодно и персональные данные, а именно: номер телефона, ФИО и домашний адрес). Само по себе данное обстоятельство уже не особо приятное. В то же время, слово «hash» в адресе дало мне надежду на то, что следующая за ним последовательность — результат некой хэш-функции, и подобрать последовательность таким образом, чтобы попасть в чей-то личный кабинет, будет затруднительно. Чтобы проверить данное предположение, я изменил последний символ в последовательности (цифру) и попал в чужой личный кабинет, где мне были доступны чужие персональные данные, а при входе логином автоматически послужил чужой номер телефона. Поверхностно пробежавшись по «соседним» личным кабинетам, я понял, что последовательность символов, следующая за "?hash=" — это не результат хэш-функции, а некий код, выдающийся по порядку каждому клиенту по каждому отдельному отправлению. Замена иных символов в последовательности — шестнадцатеричных цифр на предыдущие или последующие позволила мне попасть без какой-либо авторизации в чужие личные кабинеты, что давало доступ к сведениям о номере телефона, фио получателя и его адресе (часто — домашнем).
Вот как это выглядело
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/ebf/afa/d1c/ebfafad1ca928691ae8be70c13c376bd.jpg)
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/2aa/43a/0f4/2aa43a0f4ad19eeab0f3b7125e6f149c.jpg)
![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/58e/3a1/54a/58e3a154ad5dd34c2d355aca36551743.jpg)
![image](https://habrastorage.org/getpro/habr/post_images/ecb/456/2be/ecb4562bef0269daecd013a64611e2a5.jpg)
![image](https://habrastorage.org/getpro/habr/post_images/ebf/afa/d1c/ebfafad1ca928691ae8be70c13c376bd.jpg)
![image](https://habrastorage.org/getpro/habr/post_images/2aa/43a/0f4/2aa43a0f4ad19eeab0f3b7125e6f149c.jpg)
![image](https://habrastorage.org/getpro/habr/post_images/58e/3a1/54a/58e3a154ad5dd34c2d355aca36551743.jpg)
Так я с ужасом понял, что компания хранит персональные данные своих клиентов (а заодно и наши с супругой) в открытом виде на страницах, доступных любому лицу, имеющему доступ к их официальному сайту. Для доступа к персональным данным клиентов компании по всей стране достаточно пропарсить страницы личных кабинетов, подставляя методом перебора значения последовательности, следующей за "/?hash=" в url. Причем абсолютно никакой защитой от скрапинга сайт не располагал. Спешно набросанный на коленке краулер безо всяких проксей в 20 потоков буквально за пару минут собрал несколько сотен живых записей, после чего я его выключил. Нет, IP не забанили. Это была бомба. Справедливости ради надо сказать, что так можно было собрать данные не всех клиентов, а только тех, кто находится, так сказать, в «активной фазе получения груза». До момента поступления груза в какой-то из ближайших сортировочных центров и почти сразу после его получения доступ в кабинет управления доставкой закрыт, но телефон и номер накладной все еще светились в форме авторизации (т.е. базу живых номеров собрать все-таки было можно).
До определенного момента и после получения управление доставкой недоступно![image](https://habrastorage.org/r/w780q1/getpro/habr/post_images/b68/56a/f3f/b6856af3fcde12a66973fdcddf920761.jpg)
![image](https://habrastorage.org/getpro/habr/post_images/b68/56a/f3f/b6856af3fcde12a66973fdcddf920761.jpg)
Таким образом, избранный компанией способ хранения персональных данных клиентов обеспечивал неконтролируемое раскрытие этих данных третьим лицам, что являлось грубейшим нарушением требований статей 7 и 19 Федерального закона от 27.07.2006 №152-ФЗ «О персональных данных». С одной стороны, очень-очень сильно хотелось пожаловаться в Роскомнадзор, с другой же стороны я понимал, что для компании создание сайта направление не профильное (а сайт, судя по копирайтам, они сделали сами), а службы ИБ в ее штате вообще могло и не быть. Поэтому (чтобы писать от себя) я выждал пару дней, пока придет груз уже на мое имя, убедился, что все по-прежнему работает, и изложил им обнаруженную мной проблему, честно указав, что намерен написать о ней сразу по закрытии уязвимости или через две недели с момента обращения (что наступит раньше). В ответ я получил дежурную благодарность и обещание передать информацию руководству и моему менеджеру.
Сколько эта брешь просуществовала на сайте можно только гадать, но я уверен, что она вовсю эксплуатировалась заинтересованными лицами. На сегодня (спустя почти три недели) брешь, вроде бы, закрыта. В прочем, со мной представители компании не связывались.