В популярной CMS, предназначенной для создания мультимедийных сайтов — PHP Melody version 2.7.3 найдены множественные уязвимости XSS и SQL.

  • 1. Хранимая PreAuth XSS, которая приводит к захвату учетной записи администратора;
  • 2. SQL-инъекция в параметре image;
  • 3. SQL-инъекция в параметре cookie.

Описание найденных уязвимостей:

    • 1. Хранимая PreAuth XSS

Для формы логина применяется недостаточная фильтрация входных данных, поэтому, если отправить POST-запрос на page_manager.php со следующим содержимым:

page_manager.php?do=new&id=&author=&showinmenu=0&meta_keywords=555-555-0199@example.com&status=0&submit=Publish&page_name=Peter+Winter&page_title=408b7<script>alert[1]<%2fscript>f2faf

то при входе в учетную запись администратора / модератора / редактора или другого пользователя, обладающего правами в зоне администрирования( /admin/pages.php?page=1 ), payload исполняется и в данном случае выполняется предупреждение.

    • 2. SQL-инъекция

Недостаточная фильтрация параметра image. Примером эксплуатации данной уязвимости является POST-запрос по адресу /phpmelody/admin/edit_category.php со следующим содержимым:

category=3&meta_keywords=555-555-0199@example.com&tag=categoryone&save=Save$name=Sample+Category+%231&image='&meta_title=555-555-0199@example.com
    • 3. TimeBased SQL-инъекция

Недостаточная фильтрация в значении cookie. Здесь уязвимый параметр — «aa_pages_per_page».

Использование следующего payload — ‘AND benchmark[20000000%2csha1(1)], отправит сервер «спать» на длительный период.

Такие атаки блокируются с помощью сигнатурного анализа. В случае обфускации пейлоада, запрос обрабатывается модулем искусственного интеллекта Nemesida WAF, распознающего аномалию в параметре запроса и позволяющему выявить эксплуатацию уязвимости.