Пользователь
30,2
рейтинг
28 марта 2011 в 13:30

Разработка → Сайт MySQL.com скомпрометирован через внедрение SQL-кода

Офсайт СУБД MySQL вчера взломан двумя злоумышленниками через банальное SQL injection. По ссылке опубликован отчёт о взломе и выложены некоторые части внутренней структуры базы данных, дамп паролей и т.д.

Vulnerable Target : mysql.com/customers/view/index.html?id=1170
Host IP : 213.136.52.29
Web Server : Apache/2.2.15 (Fedora)
Powered-by : PHP/5.2.13
Injection Type : MySQL Blind
Current DB : web


Хуже всего, что пароли юзеров уже пошли в разработку, в том числе уже расшифрован пароль директора по разработке продуктов MySQL (всего четыре символа), пароли многочисленных админов на форуме и т.д. Так что если у вас есть аккаунт на MySQL.com, то рекомендуется срочно сменить данные регистрации.

Кстати, те же два злоумышленника одновременно взломали и Sun.com тем же способом.
Анатолий Ализар @alizar
карма
749,5
рейтинг 30,2
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

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

  • +155
    • 0
      Ожидаем!
      NASA взломали через брешь в спутнике!
  • –2
    Вот уж воистину антиреклама…
    Осталось взломать php.net через уязвимость в php, и так далее.
    • +16
    • +50
      SQL-Injection — это уязвимость не mysql, а в скриптах сайта.
      • +7
        Я в курсе, спасибо.
        Имелось в виду, что в php-коде надо оставить какую-нибудь дыру(связанную именно с особенностями php), через которую сайт и взломают.
    • +4
      Не переживайте. PHP не отстает… У них недавно взломали сервер с Wiki (не очень, правда, через какую уязвимость):

      www.php.net/archive/2011.php#id2011-03-19-2

      root, пароли пользователей. Разработчики занялись аудитом кода.
  • +6
    По ссылке выше дано полное описание взлома

    Что-то не нашел. Где именно описание взлома?
  • +3
    Что называется, горец может умереть только от рук другого горца, который получит всю его силу (читай, полную БД))
  • +4
    Какая ирония.
  • +6
    >> расшифрован пароль директора по разработке продуктов MySQL (всего четыре символа)

    Я, кажется, догадываюсь, что это за символы.
    • +6
      четыре звездочки )
    • +1
      6661
      • +19
        3306
    • +2
      pass ?)
      • 0
        pastebin.com/BayvYdcP

        [2] = Robin Schumacher is MySQL's Director of Product Management and
        has over 20 years of database experience in DB2, MySQL, Oracle, SQL
        Server and other database engines. Before joining MySQL, Robin was
        Vice President of Product Management at Embarcadero Technologies.
        blogs.mysql.com/robin/wp-login.php
        Email: rschumacher@mysql.com
        Username: admin
        Password: d1ac549dbfdec4a0d49baec903648bb4
        Cracked: 6661
        -------------------------------------------------------------------
    • 0
      466 976 вариантов, как бы. И это не учитывая спец. символы.
      • +1
        Прошу прощения, малость ошибся: 14 776 336
    • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • +16
    • +34
      О господи! Скоро полнометражные гифки будут. Ещё б возможность прикреплять звуковую дорожку — и не надо хабр переделывать.
  • –12
    select * from mysql where people=«stupid»
  • +1
    Всего четыре символа.
    И как после этого обвинять простых пользователей в глупости?
    • +6
      У простых пользователей все символы еще и одинаковые :)
    • +37
      Может у него сверх надёжный пароль из 20 символов, на который коллизия для md5 как раз эти 4 символа? )
      • +1
        Ну вообще да, теоретически таких паролей может быть больше одного :)
  • +1
    EPIC FIAL!
    • +15
      FAIL :)
    • +27
      Варианты пароля из четырёх букв?
      • +2
        Your site will have been scrd, sire, thus thou will fear that fail most! None will feel safe with that! Well done, chap, more news will come down this road that thou step onto. Look into this — that will take some time.
  • –6
    А пароли хранились в БД в открытом виде? Или с такой скоростью они уже MD5 расшифровали?
    • +7
      «MD5 расшифровали» — хмм…
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          Подобрать и расшифровать разные понятия.
          • +2
            Дайте определение понятия «расшифровать».
            • 0
              расшифровка — процесс преобразования зашифрованного текста в форму, доступную для чтения.
              • +2
                Описываю процесс:
                1. Берём зашифрованную форму 202cb962ac59075b964b07152d234b70.
                2. Ищём зашифрованную форму в радужных таблицах.
                3. Как только нашли, принимаем соответствующий текст за форму, доступную для чтения.

                Уточните своё определение?
                • –2
                  Это не моё определение и кажется оно предельно простое. Ключевым моментом сдесь является фраза:

                  • 0
                    … преобразования зашифрованного текста. Если коротко — вы ничего не преобразовываете исходную зашифрованную форму, как вы правильно написали — вы её только берёте за эталон, а это уже метод подбора но ни как не расшифровка.
            • –1
              Расшифровка — это синоним слова «криптоанализ». А брутфорс называть криптоанализом, по-моему, некорректно.
              • 0
                Корректно.
      • +2
        а что в этом такого? у md5 существуют коллизии что существенно ускоряет процесс обращения хеша. Да и хешь для 4 символов я думаю вполне по силам простым брутфорсом перебрать. Тем же RainbowCrack.
    • +1
      Если пароль всего 4 символа, то md5 с большой вероятностью «расшифровывается» перебором через специальные сервисы. Пример.
      • +1
        Если пароль всего 4 символа, то md5 со 100% вероятностью брутится за 1 минуту на каком-нибудь PasswordsPro (при условии что у вас не доисторический процессор). А если у ваc еще есть и видеокарта(используем EGB), что-нибудь типа nvidia 9800 или лучше то там скорость перебора > 400млн.паролей\секунду. там и 7 и 8 символов расшифровываются достаточно быстро.
        • +1
          еще чего, ставить какие то левые проги — 8 секунд на древнем железе:
          <?php
          $md5=md5('j3x_'); // '903e9f8ce59826640a34ced54720ecc7'
          $chrs=preg_split('//','0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_',-1,PREG_SPLIT_NO_EMPTY);
          foreach($chrs as $c0) foreach($chrs as $c1) foreach($chrs as $c2) foreach($chrs as $c3)
          if(md5($c0.$c1.$c2.$c3)==$md5) die("Password: '$c0$c1$c2$c3'\n");
          ?>
          • +1
            Откуда взломщики знали длину пароля? Загнали найденный хэш в поиск по сгенеренным таблицам — получили пароль.
          • +1
            php.net/range
          • 0
            Кто то не знает что такое «полный перебор»…
  • –1
    Мда уж… Внезапно!
    Спасибо, пойду поменяю пароль, хоть он у меня и не 4 символа)))
  • 0
    Сапожник без сапог
  • –3
    Видимо, создатели базы решили, не мудрствуя лукаво, рядом со столбцом password_hash, хранить столбец password_clear)
    • +3
      Нет. Словарь хешей.
      А если пароль совсем простой, то можно и нагуглить

      Поищите хеш 4297f44b13955235245b2497399d7a93
      • +1
        Да я знаю, я шучу) Просто, удивляет четырехзначный пароль директора)
        • +2
          Выше уже писали.

          Может быть пароль был хороший, но для него существует коллизия с 4х символов.
          • 0
            Может на этот хеш и есть хорошая 20ти значная коллизия, но найденный вариант явно человеческого происхождения. Какова вероятность, что комбинация из четырех цифр(это всего 10 символов из множества возможных), первые три из которых одинаковые, — это коллизия?
            • +1
              Такой же, как и 4 одинаковые цифры. Шанс у коллизии не зависит от результата, это конечно сложно себе представить, но на выходе можно даже войну и мир получить. Shit happens.

              В этой ситуации нужно смотреть на IQ установившего пароль, если он действительно равен комнатной температуре, то о коллизии не может быть и речи.
              • 0
                Расшифровал несколько новых хешей со списка, они там все ставят слабые пароли:
                382571aa9637ab9f4a38fbc530746f10 twiggy
                07fb7c8d62c9d40a2d15d812f08bb00b 990701
                86615dcffc9338016da291bb027bc97c 4033lks
                • +2
                  *Расшифровал Прогнал по радужным таблицам
  • 0
    «Инженеры в поте лица работают над новой солонкой, пока официантки опять раздают соль вручную. Директор уезжает в отпуск на Сейшельские острова и обедает только в номере, избегая столовых, ресторанов и баров.»
  • +8
    SELECT finger FROM hand WHERE id = 3
    
    • +20
      Ты знаешь MySQL.
      • 0
        *SQL?
  • 0
    Больший фейл в том, что на mysql.com пару лет назад стоял бажный Wordpress кое-где, благодаря которому были слиты эти же данные. Правда, эта информация не была передана широкой огласке, хотя и стоял на одной из вложенных страничек мини-дефейс. Самое обидное, что та же ситуация была и есть на таких сайтах как apache.org, mil.ru, ibm.com сайт NASA и прочих важных ресурсах.
    • –2
      > ibm.com сайт NASA
      ibm.com, сайт NASA*

      sff
  • 0
    Ну бывает, чо. Надо было использовать Prepared Statements.
    • +1
      Есть мнение, хотя и не доказано, что PreparedStatement далеко не всегда спасает от SQL Injection. Особенно для «плоских» JDBC драйверов, которые на выходе PreparedStatement конвертируют в обычный SQL (JDBC MySql именно такой). Не думаю, что на sun.com использовали что-то другое…
      • +1
        Ну это может быть бага в JDBC драйвере, но не в коде приложения. Такие баги использовать очень сложно, поскольку они возникают редко, а узнать обстоятельства и проанализировать поведение может только разработчик, которому доступен код драйвера. Взломщику же, который не знает, что за драйвер стоит на сервере, навряд ли получится это сделать.
      • 0
        На Sun.com взлом был тоже через PHP (а не Java), т.к. ссылки как-бы символизируют

        reman.sun.com/apps/availlist/index.php?id=385+and+1=2+union+all+select+1,2,@@version,4,5,6,7,8,9,10,11,12,13--&subv=5&subc=3

        ibb.sun.com/apps/availlist/index.php?id=385+and+1=2+union+all+select+1,2,database(),4,5,6,7,8,9,10,11,12,13--&subv=5&subc=3

  • +1
    Апофеоз идиотизма)
  • 0
    Вот сижу и думаю, стоит ли еще меня пароль только на MySQL.com или уже лезть на все сайты и менять везде пароли… это печально…
    • 0
      Примите соболезнования.
      Собственно, после похожего случая (меньшего масштаба, разумеется, взломан был один из посещаемых мной форумов) стараюсь ставить на все сайты разные пароли. Приходится их, конечно, отдельно хранить или ставить такие, чтобы были как-то по смыслу связаны с целью посещения данного сайта (например).
      • 0
        благодарю за поддержку :)
        надеюсь, что пароль в 12 символов брутфорс выдержит…
        но вечером будет ревизия парольчиков!
        • +1
          Они не брутфорсят, а прогоняют по радужным таблицам.
          • +4
            От использования радужных таблиц это не перестает быть брутфорсом.
            • 0
              Перестает. Поскольку значения в таблицах нагерены, задача сводится к быстрому поиску в массиве. Результат с некоторой вероятностью находится за секунды или минуты…
              Брутфорс это именно грубый полный перебор. Сколько он занимает — понятно.
              Другое дело, что радужных таблиц для паролей длиннее 8 символов, содержащих знаки пунктуации видимо нет.
              • –2
                :-)
        • 0
          Всегда пожалуйста :)
          Зря только написали сколько точно символов в пароле.
          Мало ли, недоброжелатели у всех бывают.
  • 0
    Вот так новость…
  • +11
    Никакие разговоры о брутфорсах не оправдывают нарушение простого правила: шифруй пароли с солью. ни один веб-ресурс не может быть настолько крутым (в смысле безопасности), чтобы от этого правила отказаться.
    • 0
      Да и MD5 несколько, гм, устарел. Даже SHA-1 уже не нов, но уж его то можно использовать вместо MD5 без особых затрат.
  • +2
    leopard.in.ua/2010/02/05/kak-bezopasno-xranit-parol/ — «Соль вам не поможет» (С)
    • +2
      codahale.com/how-to-safely-store-a-password/

      это оригинал, того что в ссылке выше переведен не полностью

      вобщем не убедили меня почему md5 + solt это уже не модно

      автор кстати приводит странную аргументацию:
      — радужные таблицы или мощная машина и «ручной» перебор на ней
      — получаем пароль + соль

      — профит

      хотя я профита не вижу
      • +1
        Если хацкирь заимел соль и md5-хэши, то профит он поимеет весьма приличный. Иной бы была ситуация при использовании bcrypt.

        Не модно юзать такую связку на сайтах типа mysql.com и php.net. Хоть в последнем случае, взлом был осуществлён не через sql inj, но тем не менее, данные БД уплыли. А что там, в этих данных? Правильно. md5-хэши паролей, расшифровав которые можно получить доступ сами_знаете_к_чему, что будет будоражить умы многих.

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

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

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

        P.S. Тьюринг как то напевал песенку: «В напиток яблоко макнешь и навеки ты уснешь». В возрасте 42 лет он окунул яблоко в раствор цианида и несколько раз откусил. md5 — это яблоко, ваша уверенность в надёжности этого алгоритма — цианид, в который злоумышленник будет его макать, а каждый пароль — это откушенный вами кусочек от этого яблока.
        • 0
          хотел написать длиннющий комент, но в процессе понял, что не прав в одном.

          когда происходит слив хешей, то по расшифрованному набору паролей можно найти соль и если скорость взятия паролей действительно настолько высока, что за преемлемое время можно получить выборку пароль+соль, то такая практи дествительно опасна.
          • 0
            А что, если соль — это битовая маска, которая накладывается на пароль и меняет его символы вперед-назад? Как тогда ее вычислить?
            • 0
              Тут стоит вопрос «не как вычислить», а насколько криптостойким будет хэш, когда уже «всё пропало».
              В данном случае, алгоритм применяемой битовой маски можно умыкнуть с сервера вместе с БД. А bcrypt — сам в себе. Т.е., из-за меньшего количества действующих способов взлома и, что немаловажно, их продуктивности, последний потенциально более безопасен, чем мд5+соль.
              • +1
                ммм, как умыкнуть?

                у вас есть только слив, пары таблиц с сервера.

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

                ЗЫ я тут недавно услышал, что https при вале запросов сильно нагружает машину, так что некоторые так и будут юзать старые методы ибо скорость иногда важней
                • 0
                  Хэши обоих алгоритмов необратимы, дешифрованием md5 никто не занимается: входящий пароль шифруют так же и сравнивают с тем, что есть в базе. С bcrypt'ом то же самое. В конце концов, пхпшники юзают встроенную функцию для получения md5-хэша, а для bcrypt можно собрать свой пакет с заданными настройками, чтобы из кода скрипта не было видно, что вы туда передаёте, только лишь строку. Сломать такое будет сложнее, чем просто утащить скрипт с мд5+соль.
            • 0
              главное определить как соль формируется.
              я предпологаю, при вашем способе символы исказятся или превратятся в символы другого алфавита.

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

              вобщем все сводится к цене за взлом.
              неуловимым джо это не грозит
  • –1
    Любителям хеши расшифровать www.hackerregiment.com/mysql-com-vulnerable-to-blind-sql-injection.html
  • 0
    Тут есть интересный материал про bcrypt, MD5, SHA1 и CUDA.

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