Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
tolik777

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

Может гдето в коде забыли проверку добавить. Покажите как выглядит прямой запрос в php

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

В 3.4.5 такой же баг или нет?

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

В 3.1.4 такого бага не нашёл. Проверил.

Share this post


Link to post
Share on other sites

В 3.1.4 такого бага не нашёл. Проверил.

Да, в 3.1.4 нету, ибо они добавили тупую проверку /* Fetch topic if topic ID exists */ в replySetUp.

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Исправил в 3.4.5.

Сделайте лучше новое исправление. Имхо, это будет продолжении логики от 3.1

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

Напишите, что пользователь, зная айди темы, может в ней отвечать даже закрытых для него разделах. Они поймут :)

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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

Share this post


Link to post
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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...