Предоставляем срочную помощь по DLE, пишем эксклюзивные модули для вашего проекта, парсеры грабберы, исправляем базу данных, удаляем вирусы редиректы, обновляем скрипты, помощь с переездом на другой хостинг, перенос домена, большой опыт работы с высоконагруженными проектами, защита ddos атаки, ботов и спама, оптимизация модулей и серверов дле, более 10 лет работы, тысячи модификаций и доработок, короткие сроки, дорого, качественно. telegram: @histoo

[Решено] Уязвимость позволяющая просмотреть сообщения в закрытых разделах

маленькая рекламка вашему форуму.RSS-лента темы
  1. Оффлайн

    kppava

    Посетители

    Сообщений: 38

    Смотрим сообщения с закрытых разделов.



    пофиксите форум хоть в шаблоне.

    я сделал так:
    в user.tpl все переменные
    {messageText}


    [not-group=1,2,7,3]Скрытый текст. Доступно только администрации[/not-group]<div class="postUserBox">[group=1,2,7,3]{messageText}[/group]
    Сообщение отредактировал kppava 8 октября 2013 - 16:33

    psh-world.ru
    godhack.org
    ufolabs.ru

    8 октября 2013 - 16:31 / #1
  2. Онлайн

    Grey

    Администраторы

    Сообщений: 2130

    kppava, Благодарю за обнаружение проблемы.

    Проблема: Недостаточная проверка, при выборке в файле: /engine/bullet_energy/action/site/user.php в следствии которой в методах topics, messages, likes можно видеть сообщения или темы в недоступных для группы разделах.

    Ошибка в версии: 1.3 и все более ранние версии, так-же затрагивает модификацию user_likes (просмот всех лайков пользователя)

    Степень опасности: Высокая

    Варианты исправлений: Ручное, Файлы с применёнными исправлениями

    Ручное исправление: В файле /engine/bullet_energy/action/site/user.php

    Найти два раза
    
            if($row['topic_type'] == 1) {
              $row['topic_private_user'] = unserialize($row['topic_private_user']) ;
              if(in_array(parent::$member_id['name'], parent::$cache['moderator']['name'])) {
                if(!parent::$helper->ckeckModulesConfig('be_moder_top_view_privat
    e') and !in_array(parent::$member_id['user_id'], $row['topic_private_user']['array'])) {
                  continue ;
                }
              } elseif(!in_array(parent::$member_id['user_id'], $row['topic_private_user']['array'])) {
                continue ;
              }
            }
    

    Заменить на:
    
            if($row['topic_type'] == 1) {
              $row['topic_private_user'] = unserialize($row['topic_private_user']) ;
              if(in_array(parent::$member_id['name'], parent::$cache['moderator']['name'])) {
                if(!parent::$helper->ckeckModulesConfig('be_moder_top_view_privat
    e') and !in_array(parent::$member_id['user_id'], $row['topic_private_user']['array'])) {
                  continue ;
                }
              } elseif(!in_array(parent::$member_id['user_id'], $row['topic_private_user']['array'])) {
                continue ;
              }
            } elseif(!parent::$helper->checkTreeConfigParam('readTopic', $row['id_parent'])) {
                continue ;
            }
    


    Далее найти:
    
    parent::$db->query("SELECT thanks.thanks_date, post.message_text, post.id AS post_id, post.id_topic, user.user_id, user.name,user.foto, topic.title FROM " . PREFIX . "_be_thanks AS thanks LEFT JOIN " . PREFIX . "_be_message AS post ON thanks.thanks_msg_id = post.id LEFT JOIN " . PREFIX . "_users AS user ON thanks.thanks_id_user = user.user_id LEFT JOIN " . PREFIX . "_be_topic AS topic ON topic.id = post.id_topic WHERE thanks.thanks_msg_id_user = {$this->user['user_id']} {$option['joinAprove']} LIMIT {$pag['start']},{$pag['nums']}") ;
    

    Заменить на:
    
    parent::$db->query("SELECT thanks.thanks_date, post.message_text, post.id AS post_id, post.id_topic, user.user_id, user.name,user.foto, topic.title, topic.topic_private_user, topic.topic_type, topic.id_parent FROM " . PREFIX . "_be_thanks AS thanks LEFT JOIN " . PREFIX . "_be_message AS post ON thanks.thanks_msg_id = post.id LEFT JOIN " . PREFIX . "_users AS user ON thanks.thanks_id_user = user.user_id LEFT JOIN " . PREFIX . "_be_topic AS topic ON topic.id = post.id_topic WHERE thanks.thanks_msg_id_user = {$this->user['user_id']} {$option['joinAprove']} LIMIT {$pag['start']},{$pag['nums']}") ;
    


    Найти:
    
          while ($row = parent::$db->get_row()) {      
            parent::$tpl->load_template('user.tpl') ;
    

    Заменить на:
    
          while ($row = parent::$db->get_row()) {
          
            if($row['topic_type'] == 1) {
              $row['topic_private_user'] = unserialize($row['topic_private_user']) ;
              if(in_array(parent::$member_id['name'], parent::$cache['moderator']['name'])) {
                if(!parent::$helper->ckeckModulesConfig('be_moder_top_view_privat
    e') and !in_array(parent::$member_id['user_id'], $row['topic_private_user']['array'])) {
                  continue ;
                }
              } elseif(!in_array(parent::$member_id['user_id'], $row['topic_private_user']['array'])) {
                continue ;
              }
            } elseif(!parent::$helper->checkTreeConfigParam('readTopic', $row['id_parent'])) {
                continue ;
            }      
          
            parent::$tpl->load_template('user.tpl') ;
    


    Готово, теперь сообщения и темы из закрытых не будут отображаться отображаться при просмотре сообщений пользователя.

    Файлы с применёнными исправлениями: Вложены в это сообщение, user.rar - это user.php, user-user_like.mod.rar - это user.php с применённой модификацией user_likes.

    Вложения:

    1. user.rar

      Размер файла:
      3,39 Kb
      Скачиваний:
      371
    2. user-user_like.mod.rar

      Размер файла:
      3,55 Kb
      Скачиваний:
      348
    3. restricted.messages.txt

      Размер файла:
      4,29 Kb
      Скачиваний:
      555
    kppava нравится это сообщение.
    Сообщение отредактировал Grey 9 октября 2013 - 01:07

    сделаю любой модуль dle на заказ, если вам нужны услуги по dle
    скaйп rdn-team.com
    телегрaм @histoo

    9 октября 2013 - 00:52 / #2
Модераторы форума: greyPowered by Bullet Energy Forum