22 марта 2012 в 19:50

У Scalaxy неделю присутствовала дыра в безопасности API

Началось все с того, что 15го марта в Оверсане проводили обновление ПО Scalaxy. Несколько часов не работала панель управления облаком.
Когда она наконец заработала, мне понадобилось настроить включение сервера по API. Увы, список серверов в моем «проекте» мне не выдавался — таймаут соединения. «Не подняли API еще» — подумал я и как-то забыл на неделю. Сегодня попробовал опять, и был крайне неприятно удивлен…

За неделю ничего не поменялось.
Подумал — увеличил таймаут с 5 до 60 секунд. Получаю JSON на 2.7МБ. Смотрю внутрь — а там, похоже, вместо списка моих серверов — все сервера облака.
Первым делом отписал в поддержку, потом пошел смотреть что можно делать с серверами(Естественно на другом своем аккаунте, чужие сервера мне не нужны).
Запросы API имеют вид www.scalaxy.ru/api/projects/ID_ПРОЕКТА/instances/ID_ИНСТАНСА/ДЕЙСТВИЕ.json
Первая попытка с правильными ID, выдала мне запрет доступа.
После смены реального ID проекта на ID проекта на аккаунте, с которого делался запрос я успешно получил информацию по инстансу.
Дальше решил попробовать включить инстанс но, так как я не шибко торопился, к этому времени баг уже закрыли, потому точно ответить на вопрос можно ли было включать/менять/удалять инстансы на других аккаунтах я не могу, но имею все основания считать что можно.

В сухом остатке:
1)Неделю можно было по API как минимум просматривать информацию о всех серверах облака, а, возможно, и управлять ими.
2)Время устранения проблемы после обращения в поддержку через тикеты 30-45минут.
Webivan @WEBIVAN
карма
19,5
рейтинг 0,0
Похожие публикации
Самое читаемое Разработка

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

  • –10
    Просто догадка. Подтверждения нету? Да и заголовок громковат.
    да и любое действие может привести к ошибкам. Не ошибается только тот, кто ничего не делает. Обновили ПО — хорошо. Плохо настроили — да, не хорошо, но исправились же?
    • +2
      Про подтверждение, написал ниже. А по поводу исправились: хорошо что я адекватный человек и пишу в поддержку о проблеме, а если бы я был маргиналом и запустил через api удаление всех серверов?
      • +1
        • 0
          Хватит, мне и так за правду фанатИки скалакси уже карму слили.
          • +3
            У них уже есть фанатики? 0_0
        • +1
          Там удаление было самим сервисом, а не подобным образом.
  • +6
    Подтверждаю, все что написано выше — правда.
  • +8
    Нет, я конечно могу выложить тот замечательный json на 2.7Мб, но не думаю что это будет этично.
    Если у вас есть сервер в ихнем облаке, скажите мне его в ЛС его id и global_id для подтверждения что он ваш, я вам в ответ выдам все его прочие характеристики в подтверждение того что написанное в топике правда.
    • +1
      Упс, не туда. Это был ответ на первый коммент.
      • +2
        У меня тоже есть такой json :)
  • +1
    Также подтверждаю. У нас по этой причине приложения вели себя странно.

    Я сегодня добрался до их тех поддержки и совместно решили.
    Если коротко — при получении инстансов в проекте давало все инстансы всех.
    Но изменять инстансы чужие не давало, кидало http 500.

    • 0
      Изменять пробовали по реальному ID проекта, или по ID своего проекта?
      • 0
        У меня приложение это делает само(изменяет размер серверов в зависимости от нагрузки по кастомным правилам).
        Оно пыталось сделать и так и так. В обоих случаях вылетал эксепшн.
  • +4
    И сколько у них инстансов в этом json'е было?
    • +9
      Корпоративный шпионаж? :)
      • +5
        Ага! Интересно же знать, как дела у конкурентов. Тут коллега в конференции предположил, что порядка 2 тысяч.
    • +2
      По-моему от 2300 до 2400. Завтра точно скажу, сейчас уже не на работе
  • +3
    45 минут? Пфи. они реактивны
    мне security moneybookers уже дня 3-4 не отвечают. тупая дыра для кражи денег с кошелька. угу, очень trustful и secure с их стороны.
    если кто имеет возможность «пиннуть» лондонских чуваков — буду благодарен, т.к. пока что стремно писать про уязвимость.
    • 0
      Могу позвонить в саппорт, напиши в чем там проблема, в двух словах.
      • 0
        csrf
        • 0
          А как же дата рождения которую надо вводить при каждом переводе?
          • 0
            1. точечные атаки с известной датой
            2. перебор (не банятся). можно херануть пару тыщ запросо
            3. попросить юзера сказать месяц и год и перебрать 30 дней
            кароче глупость а не защита.
          • 0
            В США нормальной практикой на сайтах с возрастными ограничениями (Алкоголь, Порно, etc) спрашивать дату рождения.
  • +1
    Интересно, как зовут техдира Скалакси? Я их клиент, у меня каждый месяц что-нибудь, да случается. То виртуалки запускаться перестают, то сам скалакси падает, то еще какая беда.

    Хочу товарищу сказать спасибо за экстремальное обучение бекапу всего, что движется ;-)
    • 0
      Дмитрий Лоханский.
  • –11
    Автора топик в народе можно назвать л*х.
    Сделал бы парсер и снял всю инфу по клиентам и продал бы ее конкурентам.
    • 0
      Контактов клиентов насколько я понимаю там нет, так что база не очень интересна с точки зрения продажи.
      • 0
        По внешним IP, можно узнать сайты, которые там хостятся. А на сайтах уже можно найти контакты клиентов.
        Только как то не хочется в перспективе иметь визиты из органов за такие вот дурачества…
        • –4
          При грамотном подходе все будет пучком )

          PS
          А за баги и платят такой ценой, так что можете минусовать и дальше жить в розовых очках, я лично реалист. Мне на ваши минусы фиолетово ).
          • +3
            Какой ценой платят за баги все прекрасно знают. Вы призываете автора статьи к совершению уголовного преступления и считаете его л*хом потому, что он решил остаться по эту сторону закона.
    • +3
      А таких советчиков можно в народе называть уродами, из-за которых у нас такая процветающая страна, потому что практически каждый житель не упустит возможности что-то спиздить.
      • –1
        Нефиг давать повод, я сам не «пиздил» еще ничего, но не осужу тех кто это сделает, т.к. поделом.
        И если у меня сопрут не буду горевать.
        Объективнее надо быть и вырости из яслей, а не в розовых очках ходить.
        • 0
          В принципе с человеком можно согласиться. Не хочешь чтобы украли — не давай возможности и не вини других если сам оставил дом открытым. С другой стороны, если вы при этом проходя мимо зашли и унесли все ценности, вы тоже заслужите обоснованное презрение.

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

          (надо выработать привычку смотреть на отношение кармы к общему числу голосов до того как писать такие полотна)
          • 0
            Мне фиолетово, я не заинетерсован, а значит максимально объективен.
          • 0
            А я бы не стал соглашаться. Из-за таких людей приходиться постоянно в состоянии паранойи находиться:
            — Не забыл ли я что-нибудь в машине, из-за чего могут стекло разбить?
            — А поставил ли я ее на сигнализацию?
            — Как пойти купаться, чтобы вещи не украли?
            Ну и так далее.

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

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