Подбирая новый телефон, зашел на сайт Эльдорадо, определился с моделью и перед созданием заказа по старой памяти решил проверить, кто может узнать о моей покупке.

При этом даже не пришлось оставлять свои данные на ресурсе. На помощь пришел Google с поисковым запросом, который оповестил о скрытых результатах.

Запрос в Google

В теории, со стороны поисковика некорректно отдавать такие данные, тем более, эти url закрыты в robots.txt. Но Google это проблемой не считает (я им писал).

При переходе по предложенной ссылке я обнаружил номер бонусной карты и данные о заказе:
— Email
— Имя
— Сумма заказа
— Товары (название, цена, количество)

Страница заказа

После этого (23 апреля) я сообщил в службу поддержки Eldorado и через несколько часов получил ответ, что информация будет проверена.

Спустя неделю (30 апреля) я вновь обратился с заветному url и обнаружил, что имя покупателя и номер его бонусной карты не выводятся в web-окне. Но остальная часть данных была в html-коде, который и был открыт. Да, перебирать переменную ORDER_ID в url было не так сложно.

Многие из вас знают, что такое ретаргетинг. Вопрос полезности этой вещи оставим вне контекста. Судя по html-коду, в этот ретаргетинг передаются все вышеперечисленные данные, за исключением номера бонусной карты.

Данные о заказе
Данные о заказе

Сразу было написано письмо в службу поддержки о том, что стоит закрыть эти данные от посторонних посетителей. А 5 мая уведомление об ошибке было продублировано через соц. сеть.

Сейчас ошибка закрыта, за что в Эльдорадо предложили бонусы на карту. :)

p.s.: А в RBK Money данные еще открыты, несмотря на мое обращение в Facebook к директору этой системы. Как решить этот вопрос?

Комментарии (43)


  1. Bo0oM
    06.05.2015 11:19
    +1

    В robots.txt закрыто. Google поместил в выдачу ссылки, которые были уже опубликованы где-то (ссылок вообще 50 штук и часть из них не работает, что кагбе намекает).


    1. lobity Автор
      06.05.2015 11:21
      +1

      Все верно. Часть показывается, часть не показывается.


      1. Bo0oM
        06.05.2015 11:45
        +1

        Ну я о том, что проблема не в утечке с помощью поисковика, а именно недостаточной авторизации / разглашении информации на страницах заказов. Можно и без гугла пробрутить все айдишники (энтропия не велика).

        со стороны поисковика некорректно отдавать такие данные

        Какие данные? Почему некорректно?


        1. lobity Автор
          06.05.2015 11:52

          Да, данные о заказах можно получить перебором order_id. Без поисковика я возможно бы и не заметил такой url. Хотя кого я обманываю. :) Просто с google проще найти оказалось.

          Какие данные? Почему некорректно?

          URL, которые запрещены в robots.txt, показывать простому смертному не совсем корректно, пусть даже и не кешируя содержимое.

          Хотел отдельную статью по этому поводу написать, в том числе и про общение с яндексом и гуглом по этому поводу.

          Например поисковые запросы в гугле выдают интересные результаты:
          site:passport.yandex.ru/passport
          site:mail.google.com/mail/u


          1. lexit
            06.05.2015 13:17
            +3

            поиск filetype:ini wcx_ftp тоже выдает много интересного :)


    1. armab
      08.05.2015 01:51

      Google бывает странный.

      Даже при блоке в robots.txt он может показывать страницы в выдаче, просто без сниппетов (Title, Description), только URL.
      Проверено на собственном SEO опыте.

      Нельзя надеяться на robots.txt


  1. Lapteuh
    06.05.2015 13:06
    +5

    В приведенном вами примере кода идёт передача параметров в Я.Метрику для сбора статистики заказов, а не для ретаргетинга. Ретаргетинг это про другое.

    Для того, чтобы данные не утекали при сканировании, то надо либо скрывать приватные данные, либо закрывать авторизацией и аутентификацией. И это обязанность не поисковиков, а владельцев сайта.


    1. lobity Автор
      06.05.2015 14:04
      -1

      Там не только метрика в html-коде фигурирует. А про защищенность самого сайта я с вами полностью согласен. Гугл здесь упомянул для полноты картины, т.е. как было это обнаружено.


    1. HeTpe3B
      06.05.2015 14:13

      Данные не то, чтобы не скрываются, они в консоль для удобства выведены :)

      Скриншот
      image


    1. evnuh
      06.05.2015 17:17

      Данные о клиентах вообще не в метрику, а в flocktory идут. Это уж точно не ретаргетинг, как и метрика. При чём здесь ретаргетинг я так и не понял. Автор, удалите эти упоминания.


      1. lobity Автор
        06.05.2015 18:33

        Спасибо за разъяснение, внес коррективы.


      1. lobity Автор
        06.05.2015 18:46
        +1

        Ан-нет. Вот пример кода:

        <!-- ActionPay Retargeting -->
        <script>
            window.APRT_DATA = {pageType: 6, orderInfo: {id:5800059, totalPrice: 0},  purchasedProducts: [ {id: 71068227, name: 'Кабель INTER-STEP MICROUSB', price: 143.00}]};
        </script>
        

        Так что ретаргетинг :)


    1. DjOnline
      13.05.2015 16:45

      Достаточно добавить сильно солёный хэш в url, чтобы защититься от перебора номеров заказа.


  1. Nameless_0ne
    06.05.2015 14:39
    -5

    Молодцы Эльдорадо, оперативно поправили, я считаю. А проблема общая, проверил сейчас пару магазинов других и вижу то же самое.


  1. lobity Автор
    07.05.2015 13:43

    Эльдорадо перечислили бонусы, на которые была совершена покупка. Хорошее окончание. :)


    1. Borz
      07.05.2015 13:51

      ну и своего не упустили — перечислили бы деньгами, могли бы не у них отовариться…


      1. lobity Автор
        07.05.2015 17:33

        Это не столь критично. Ведь главное то, что было исправлено. Конечно приятно получить за это поощрение, чем я и воспользовался. Тем более, такие истории для меня не являются заработком.


  1. BeLove
    10.05.2015 20:20
    +1

    ОМГ — даже на скрине видно, что результатов — 53 (считая «левые» ссылки, не на заказы).
    Зато заголовок — «Скомпрометирована база заказов Эльдорадо» и рейтинг +42.


    1. igorna
      12.05.2015 11:01
      +1

      когда есть тип посроения url в котором есть данные, то можно генерировать все возможные url — таким образом получить всю базу заказов.
      Делов на 3 минуты.
      Заголовок верный, но понятен только для тех кто знает что с этим делать.


      1. BeLove
        12.05.2015 14:00

        Не спорю. Но это совершенно другая проблема и уязвимость.
        При чем тут тогда гугл и его кэш?


        1. lobity Автор
          13.05.2015 08:16

          В том, что нашел этот url именно через google. Не кэш, а просто поиск, в кэше их нет.
          Уязвимость в возможности перебора идентификаторов в адресной строке с получением данных.


  1. igorna
    12.05.2015 10:58

    Вот, интересно как это работает. У тебя есть почта, имя покупателя и покупаемый продукт.
    Неужели не было мысли о том что бы использовать эти данные.
    Например предлагать человеку тот же товар со скидкой через другой магазин.
    Или ещё чего?


    1. lobity Автор
      12.05.2015 11:29

      Мысль была, чего таить, но я за честные методы.


      1. igorna
        12.05.2015 11:39
        +1

        Честность вещь хорошая.

        А Эльдорадо честно оплатили вашу помощь?

        Скажем так:

        Вы в аэропорту находите сумку.
        Открываете, а там многа денег. Очень многа денеггггг. И паспорт.

        Вы идёте в полицию и те находят владельца. Крутого такого мэна, известного на всю стран, у с массой бизнесов.
        Он вам говорит — спасибо большое. Вот вам карта в мой магазин, купите себе чёйнить. Например фен, любимой жене.

        Это честно?

        П.с. Только не надо, пожалуйста, про то что ваша совесть чиста отдав чужое. Я не про вас, я про фен.


        1. lobity Автор
          13.05.2015 08:21

          Вымогать деньги все-равно бы не стал. Дать или нет — их решение.

          Вопрос суммы — карма платящего. Во всяком случае я стараюсь придерживаться такого мнения.


          1. igorna
            13.05.2015 10:16

            Вымогать? ни в коем случае.
            Вопрос так не стоял.
            Вопрос такой:

            Если Эльдорадо не наняли квалифицированных программистов, для создания правильного кода, а выложили информацию открыто и без стеснений, почему правильно им об этом бесплатно сообщить, но не правильно с ними конкурировать на основе их открытой информации. Это раззззз.

            Второе: Эльдорадо, узнав о подобном баге у конкурентов — сообщил бы конкуренту, в надежде на фен или другой бонус, или моментально воспользовался бы данной инфой?


            1. lobity Автор
              13.05.2015 10:29

              Данные можно попытаться использовать, но нет гарантии того, что фразы «оно было доступно для всех» успокоят пыл дознавателя. :)

              О том, что сообщил об ошибке не жалею.


              1. igorna
                13.05.2015 10:44

                понят я не был :) Жаль :)

                Всё что я хотел сказать, что это не ошибка. Это отношение. И действовать нужно иначе.
                Думаю, что масса конкурентов и действовала — вы им весь бизнес убили :)


                1. lobity Автор
                  13.05.2015 10:52

                  Создавать магазины по партнеркам и лить траф через email?

                  Думаю, что масса конкурентов и действовала — вы им весь бизнес убили :)

                  Печаль-беда)

                  Вот вам для нового бизнеса: sko.rbkmoney.ru/opencms/opencms/default/waitingPage.html?invoiceId=1063827369&language=ru&transactionId=17124294
                  Что и где менять поймете :)


                  1. igorna
                    13.05.2015 11:02

                    Создавать магазины по партнеркам и лить траф через email?

                    Способов миллионы.
                    Пока вы голову ломаете как столики донести до заказчика, у вас на руках миллионы оных, только не по столикам.

                    Очень прикольно.
                    Сначала сам добился звёзд в мейле, а теперь зачем это нужно?
                    Да и потом в мейле цены нет. Мэлов у меня 60 лимонов. Важен товар и имя :)


                    1. lobity Автор
                      13.05.2015 11:13

                      Сначала сам добился звёзд в мейле, а теперь зачем это нужно?
                      Да и потом в мейле цены нет. Мэлов у меня 60 лимонов. Важен товар и имя :)

                      Данных еще много, не только по вышеперечисленным сервисам. Как по платежным, так и по другим, просто надо повнимательней посмотреть. Думаю, с частью из них вы прекрасно знакомы.

                      Возможно в ближайшее время еще несколько закину.


                      1. igorna
                        13.05.2015 11:22

                        Не закидывай — очнись и трудись :) они там для тебя лежат :)


                        1. lobity Автор
                          13.05.2015 11:27

                          Поделиться информацией или своей хватает? ))


                          1. igorna
                            13.05.2015 11:42

                            Информации много не бывает. Вопрос в какие руки она попадёт :)

                            Сёма, посмотрите на эти мозолистые руки! Этот человек совсем не хочет работать головой :)))


                    1. lobity Автор
                      13.05.2015 13:05

                      Очень прикольно.
                      Сначала сам добился звёзд в мейле, а теперь зачем это нужно?

                      Кстати. Посмотрите внимательней и увидите email без звездочек. Так что «обрадую» вас — email получить от rbkmoney можно не напрягаясь, но им это, видимо, не особо важно.


                      1. igorna
                        13.05.2015 13:24

                        Кстати. Посмотрите внимательней и увидите

                        С этого места по подробнее, а то я туплю и не вижу.


                        1. lobity Автор
                          13.05.2015 13:26

                          С этого места по подробнее, а то я туплю и не вижу.

                          Скинул в ЛС.


    1. fenixlz
      13.05.2015 04:51

      Зачем ему кофеварка через другой магазин, если он уже купил в Эльдорадо?


      1. lobity Автор
        13.05.2015 08:21

        Метко :)
        Еще что-то нашли?


      1. igorna
        13.05.2015 10:08
        +2

        Дайте мне 100 человек сделавших заказ только что и я найду 100 способов продать им тот же товар, отменив покупку этого.


  1. Selassie
    13.05.2015 10:58

    Прям видится бизнес: робот, ищущий только что купивших, анализирующий цену на купленный товар на сайте продавца и выбирающий аналогичный товар дешевле, если это возможно, у конкурентов которые платят комиссии за покупки через CPA сети. Ну а дальше дело техники, если контакты открыты =) А уж если отменить заказ можно за человека — хотябы даже позвонив в магазин от его имени — а ему перезвонив или написав из другого магазина куда «передали заказ» — вообще хорошо. В итоге имеем схему без собственного товара, никого не обманывающую по большому счету (в смысле квалификации действий как мошенничество, а не в кармических смыслах) и работающую на одном-двух сотрудниках =)


    1. igorna
      13.05.2015 11:05

      Ура!!! К нам пришёл мозг!!! :))))
      Я не в обиду :)
      Я с удивлением героического отказа от собирания рыбы выбросившейся на берег, в пользу ухода в море на пол года на рыбный промысел.
      Жесть.


      1. Selassie
        13.05.2015 15:42

        =)