Mazar — android bot

Здравствуйте, ребятишки! Сегодня я расскажу, как взломать можно было взломать админку андроид-бота Mazar.

Итак. Я получил инструкцию по установке и архив с админкой.

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

Делай раз. XSS.

Для начала я пошел максимально простым путем - добавлял через phpmyadmin во все текстовые поля в базе данных такую конструкцию:

И проверяем:

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

Куки без флага httponly и поэтому благополучно улетают на веб-сниффер. Подставляем печенеги себе и вот мы уже в админке...

Делай два. Upload shell.

Теперь мы попробуем залить шелл. Посмотрим код файла Application/Controller/IndexController.php, а именно строки 703-708:

Как мы видим, идет запись в файл config.php, а в параметре password не экранируются кавычки. Мы можем легко вставить любой свой код и он будет исполнен. Берем вот такую хитрейшую строку:

И указываем в виде нового пароля:

Сразу после того, как мы сохраним наш "пароль" нас выкинет из админки, но зато в корне будет лежать upload.php через который мы можем залить шелл:

Следующим шагом надо подняться на папку выше и отредактировать файл config.php, чтобы никто ничего не заметил.
Вот и всё. Легко и просто.

UPDATE. На данный момент актуальная версия - 3.1.5. Софт пропатчен.

(К слову, я нашел еще несколько уязвимостей, типа CSRF и кривой LFI, но они не представляли большой угрозы).