- PVSM.RU - https://www.pvsm.ru -
Доброго времени суток, %username%. Довольно давно беру сервера у одной хостинг-компании, занимающийся продажей, арендой и размещением серверов. Компания довольно приличная, имеются все нужные документы, а самое-то, что меня заинтересовало — это самописная биллинг панель. Компания решила остаться анонимной.
Всё началось недавно, когда мне захотелось проверить данную панель на уязвимости. Первым делом я начал искать XSS, т.к. полей ввода там было довольно много.
Для начала я зашел в редактирование информации о себе. Первым делом, что я увидел — это проверка полей на правильность заполнения, JavaScript`ом. Скрипт не разрешал вставлять спец. символы в поле ввода.
Открыв исходный код, я вставил в input следующий код:
,
и нажав кнопку «Подтвердить изменения» я увидел следующее уведомление:

Проанализировав код дальше я увидел, что на кнопку сохранения идет функция проверки правильности полей:

Уберем её и нажмем сохранить.
Результат оказался положительным.

Отписавшись о данной баге, я продолжил искать дальше.
Создав тикет, я увидел кнопку «Вернуться», ссылка составлялась из URL.
Примерный вид: host/ticket.php?t_id=1234 [1]
Сразу подставил к ID, код, получилось вот так:
host/ticket.php?t_id=1234%22/%3E%3Cscript%3Ealert [2](%22XSS%22)%3C/script%3E
И опять, результат оказался положительным.

Опять, анализирую исходный код страницы с редактирование информации, я увидел вот такую штуку:

Поменяв значение client_id на 1 и нажав кнопку «Сохранить» я увидел очень интересную вещь. В форму подставились данные владельца аккунта под ID=1

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

Обо всех уязвимостях я отписался администрации и они были оперативно закрыты.
И в конце хочу сказать, фильтруйте любые входящие данные и обязательно проверяйте права пользователей.
Спасибо за внимание.
Автор: AlexanderPHP
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/9382
Ссылки в тексте:
[1] host/ticket.php?t_id=1234: http://host/ticket.php?t_id=1234
[2] host/ticket.php?t_id=1234%22/%3E%3Cscript%3Ealert: http://host/ticket.php?t_id=1234%22/%3E%3Cscript%3Ealert
Нажмите здесь для печати.