Раскрытие директорий в ЛС. Часть 4

Безопасность LiveStreet CMS
Дыры в безопасности движка ЛС, часть четвертая. Предыдущая третья часть.

  • Уровень опасности: низкий
  • Тип: раскрытие имени пользователя (аккаунта) на сервере
  • Версии движка, которые подвержены данной опасности: все ЛС, начиная с версии 1.0

ОПИСАНИЕ

1. Сайт должен находится под управлением php 5.4.*
2. Потенциальному злоумышленнику необходима обязательная активная регистрация на сайте.
3. Злоумышленнику необходимо добавить топик в избранное.
4. Необходимо из кода страницы получить ключ безопасности ЛС.
5. Необходимо получить идентификатор топика.
6. Сформировать специальный GET-запрос на сервер:

http://site.com/ajax/favourite/save-tags/?security_ls_key=YOUR_SECURITY_KEY&target_id=TOPIC_ID&target_type=topic&tags[]=wedontneednoweducation


Результатом станет вывод предупреждения уровня E_NOTICE:

Notice: Array to string conversion in /home/webmaster/www/site.com/www/classes/actions/ActionAjax.class.php on line 603

где webmaster — имя пользователя на сервере.

РЕШЕНИЕ

В /classes/actions/ActionAjax.class.php после 595 строки добавить код:


/*
  prevent hacking
*/
if (!is_string (getRequest ('tags'))) {
  $this -> Message_AddErrorSingle ($this -> Lang_Get ('system_error'), $this -> Lang_Get ('error'));
  return;
}
0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.