Cyber Industries Gate — Активная XSS

Сегодня мы будем чекать на баги админ-панель сборки RMS.

Изучив весь сорц, я обнаружил, что работа с бд идет через PDO, а значит ловить скуль-инжекты было практически бессмысленно. На удачу, попробовал поискать second order injection, но и этого тоже не было, потому как контент из базы данных почти не использовался в запросах (кому интересно, как это можно было бы заюзать - http://stackoverflow.com/questions/12952187).

Active XSS

Оставалось только искать баги в клиентской части. Тут тоже все было довольно печально - все переменные либо приводились к int, либо фильтровались через htmlspecialchars. Однако, часть переменных находилась внутри одинарных кавычек события onclick (которые функция htmlspecialchars по умолчанию не преобразует), что позволяло внедрить кривую хранимую XSS.

index.php, 98 строка:

index.php, 107 строка:

Гейт, куда стучат боты tick.php:

Отправляем:

В админке жмакаем на кнопку редактирования комментария или на кнопку фокуса:

1322323

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

Принцип следующий:

  1. Ботовод заходит в админку.
  2. Видит кучу левых ботов.
  3. Пытается их удалить/отредактировать...
  4. Если повезет (о боженька, молю тебя об этом) запускает наш js-код...

И кука админа летит на сниффер:

sniff

ПРОФИТ!
Подставляем куку себе в браузер, заходим в админку, пиздим ID ботов/даем всем задание на прогруз своего софта/удаляем ботов.

Finish.

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

P.S. есть еще одна мелкая ошибка - клип Prodigy в ифрейме не открывается.