Jump to content

[3.3.4] Дырка позволяющая постить гостям в любой подфорум


tolik777
 Share

Recommended Posts

В 3.3.4 у меня для некоторых подфорумов разрешено создавать и отвечать гостям. Однако некоторые индивидумы нашли способ спамить в другие подфорумы, даже если гостям не разрешено постить в них. ПОтом нашли как они это делают - прямой запрос к РНР. Подскажите, кто сталкивался с данной проблемой? Как закрыть этот баг?

Link to comment
Share on other sites

В детали не вдавался, экспериментировал один из модераторов. По его словам можно постить в любой, даже закрытый подфорум зная только лишь ID темы, прямым запросом, что легко делается к примеру в опере. Что он собственно и продемонстрировал написав в закрытый форум, доступный только группе модераторов.

Link to comment
Share on other sites

Да, уныло там получилось. Несмотря на обилие проверок, прошляпили момент с fid, либо не предусмотрели логику в classPost: setTopicId и setTopicData.

 

Фикс http://ipbskins.ru/forum/topic12462.html#entry81858

 

И напишите багрепорт в IPS.

Link to comment
Share on other sites

Как в 3.4.5 не знаю, но в 3.4.4 похоже тоже самое.

 

Решить глобально проблему можно следующим образом:

 

Открыть admin\applications\forums\sources\classes\post\classPost.php

Найти

		$topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $this->getTopicID() ) );

заменить на

		$topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $this->getTopicID() .' AND forum_id='.$this->getForumID() ) );

  • Upvote 1
Link to comment
Share on other sites

Как в 3.4.5 не знаю, но в 3.4.4 похоже тоже самое.

 

Исправил в 3.4.5. Подскажите правильное описание бага на русском языке для баг-трекера, собираюсь запостить на английском языке ваше решение.

Link to comment
Share on other sites

Да, я уже заметил, что правка другая. Поменял на

$topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $this->getTopicID() .' AND forum_id='.$this->getForumID() ) );

 

Не совсем представляю, насколько глобален этот баг. Что можно было бы написать в баг-трекере?

Link to comment
Share on other sites

Главное, чтобы не взбрыкнули (они любят тянуть резину) и выпустили патч, тогда хакеры перехватят инициативу. Попробую отписать.

Link to comment
Share on other sites

Users may post to topics they have no permission for posting to .

If forum or topic is hidden then user gets a error message.

Хм... это разве не одно и тоже? Ладно темы, но форумы разве можно запретить кроме через маски доступа?..

 

А баг не совсем критичный.

  • Upvote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...