Владельцам 3.8.6: не поставили патч - потеряли форум!

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > > > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Первый пост
Old  
netwind
Гуру
 
netwind's Avatar
Default 1

попробуй что-ли
include_once "./global.php";
вначало.


К сожалению, если предполагается нагрузка на чат, то каждый чих придется проверять и вызывать этот жуткий код воблы.

была похожая тема, ктото из гуру даже привел хороший код.
а я привел код стремненький, без использования воблы вообще и для лицензионной версии. поиском по своим сообщениям что-то не нахожу.
админы-завистники потерли)
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
Чайни
Продвинутый
Default 0

Попробовал... результат нулевой :(

Админам жалко, что ли ?

добавлено через 1 час 7 минут
ЕСТЬ !

Добрался таки до нужных таблиц и параметров Единственное, я не стал м...дохаться с инвизиблом (оно мне и не надо, т.к. в чат он заходит независимо от того, скрыт от посторонних или нет), просто определяю - на форуме юзер или нет

Всем помогавшим огромное СПАСИБО !

добавлено через 1 час 10 минут
Теперь стоит задача определения юзерID (т.к. сейчас я определяю всех залогиненых на форуме, а не одного юзера)... но, думаю, это последний шаг Самое сложное позади

добавлено через 2 часа 4 минуты
Блин ! Теперь проблема получить username или userid...

Может кто помочь ?

добавлено через 2 часа 47 минут
Ну, собственно, и до этого добрался...
(вытер пот со лба и высыпал песок из штанов )

Сделал !

Last edited by Чайни : 07-22-2006 at 06:16 AM. Reason: Добавлено сообщение
 
Old  
SAS1024
io.sys
 
SAS1024's Avatar
Default 0

Чайни, поделись, если не жалко, кодом проверки статуса пользователя? Думаю, некоторым пригодится
 
Old  
Чайни
Продвинутый
Default 0

Во всех обращениях к базе подставляется свой префикс.

PHP Code:
$timenow=time();
// Получить cookietimeout, прописанный в настройках форума
$SQL "SELECT * FROM `datastore` WHERE title='options' LIMIT 1";
$result mysql_query($SQL);
$cookietimeout=mysql_result($result0"data");
mysql_freeresult($result);
$cookietimeout=substr($cookietimeout,strpos($cookietimeout,"cookietimeout")+17,strlen($cookietimeout));
$cookietimeout_len=substr($cookietimeout,0,strpos($cookietimeout,":"));
$cookietimeout=substr($cookietimeout,strlen($cookietimeout_len)+2,$cookietimeout_len);

// Получить ID юзера
$uid=$bbuserid// из куков
if (!$uid// если в куках этого нет, искать в сессиях
    
{
    
$uhost=GetHostByAddr($_SERVER['REMOTE_ADDR']);
    
$SQL "SELECT userid FROM `session` WHERE host='$uhost' LIMIT 1";
    
$result mysql_query($SQL);
    
$uid=mysql_result($result0"userid");
    
mysql_freeresult($result);
    }

// Определить - юзер залогинен на форуме или нет
// $user_is_online == 0 : не залогинен
// $user_is_online == 1 : залогинен (не важно, инвизибл или нет)
$user_is_online 0;
$SQL "SELECT * FROM `user` WHERE userid='$uid' LIMIT 1";
$result mysql_query($SQL);
$lastactivity=mysql_result($result0"lastactivity");
$lastvisit=mysql_result($result0"lastvisit");
mysql_freeresult($result);
if (
$lastactivity>$timenow-$cookietimeout AND $lastvisit != $lastactivity)
    
$user_is_online 1;

// Если залогинен, получить его username
if ($user_is_online)
    {
    
$SQL "SELECT username FROM `user` WHERE userid='$uid' LIMIT 1";
    
$result mysql_query($SQL);
    
$username=mysql_result($result0"username");
    
mysql_freeresult($result);
// Пененаправить его в чат (или сделать с ним что считаешь нужным :) )
    
}
    else
// Переход, если не залогинен
    
{
    } 
Удачи
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

Много странного...
1. нигде не видно проверяешь ли ты bb_password.
можно легко войти в чат под чужим ником, просто вбить в параметры любой id юзера.
2. искать id юзера по IP адресу плохая идея, есть ведь прокси-сервера и всякие GRPS.
3. ну и, как водится, sql-иньекции )
 
Old  
Чайни
Продвинутый
Default 0

Quote:
Originally Posted by netwind
1. нигде не видно проверяешь ли ты bb_password.
можно легко войти в чат под чужим ником, просто вбить в параметры любой id юзера.
Пароль проверяет форум. Я проверяю лишь, залогинен ли юзер на форуме, т.е. в т.ч. проверен ли уже у него пароль. Разве этого не достаточно ?
А для того, чтобы "просто" вбить любой ID, надо как минимум знать имя этого файла, чтоб его запустить Или где предлагается этот ID вбивать ?
(кроме того, даже если ты узнаешь имя PHP-файла (вот только интересно - как узнаешь ?) и подсунешь ему ID, при входе в чат легко поставить проверку пароля, хотя я сейчас её обхожу, т.к. человек идёт с форума, и как сказано выше - залогиненный юзер уже прошёл проверку на пароль)

Quote:
Originally Posted by netwind
2. искать id юзера по IP адресу плохая идея, есть ведь прокси-сервера и всякие GRPS.
Я разбирался в коде форума насколько мог, и это единственное, что мне удалось "откопать".
Согласен, возможно этот способ определения ID проработан до конца, и если есть алгоритм определения ID иным или более точным способом - прошу его описать
Возможно, вычисление и cookietimeout - тоже не очень верный алгоритм, т.к. зависим от структуры исходных данных. Но я искал исключительно своими глазами, без описаний, и тратить ещё кучу времени лишь для того, чтобы разобраться в структуре таблиц и написать структуронезависимый алгоритм - зачем ?

Quote:
Originally Posted by netwind
3. ну и, как водится, sql-иньекции )
Никто не мешает использовать другие иньекции Сейчас это не является моей специальностью, посему в дебри не лезу Хочешь написать иначе - заради Бога

Last edited by Чайни : 07-23-2006 at 12:14 AM.
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

Quote:
Пароль проверяет форум. Я проверяю лишь, залогинен ли юзер на форуме, т.е. в т.ч. проверен ли уже у него пароль. Разве этого не достаточно ?
если твой чат представляет из себя плагины какие-то,тогда может и достаточно.
если совсем отдельные скрипты - конечно нет.

а насчет иньекций - это просто замечание для тех, кто решит использовать этот код.
(в случае плагинов иньекций не будет, тк все переменные воблой обработаны)
 
Old  
Чайни
Продвинутый
Default 0

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

Насчёт инъекций - ну, решит использовать, и что ? Это - самостоятельный селёдконезависимый скрипт. Или я чё-та не догоняю ?

Last edited by Чайни : 07-23-2006 at 12:34 AM.
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

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

насчет иньекций - у тебя там обращение к базе данных форума,
вероятно можно подобрать такую переменную userid, чтобы форма "Здравствуйте, $username" содержала не имя пользователя,а пароль.

фигня конечно, но неприятно)
 
Old  
Чайни
Продвинутый
Default 0

Quote:
Originally Posted by netwind
если это самостоятельный чат, значит любой пользователь может вызвать скрипт, передать туда кукисов и прикинуться другим пользователем.
Не лишено злравого смысла, конечно Но вот вопрос - как он узнает, какой скрипт надо вызывать, и какие при этом параметры ему передавать ?
Дело в том, что не светится ни приведённый ниже скрипт (имя его никому не известно, на форуме - это обычный раздел-ссылка, адрес которой упрятан самим форумом в базе), ни скрипт, которому передаются из приведённого скрипта эти параметры для проверки авторизации юзера в чате.
Схема, т.е., такова :
1. ФОРУМ - 2. ОПРЕДЕЛЕНИЕ авторизации - 3. ОБЩИЙ ВХОД в чат с проверками (при входе с форума если п. 2 - положительный, то проверки на пароль нет) - 4. ЧАТ.
Юзер видит только 1. и 4., скрипты 2. и 3. ему недоступны.

Quote:
Originally Posted by netwind
обычно в вобле каждый файл вызывает общую процедуру проверки.
в каждый скрипт передается и bbuserid и bbpassword. да еще и сессия проверяется и обновляется.
Ну, делать столь мощную защиту... как ты сам сказал - "фигня, конечно" Да и внутри чата защита давно сделана по двум параметрам, не только по ID.

Quote:
Originally Posted by netwind
насчет иньекций - у тебя там обращение к базе данных форума,
вероятно можно подобрать такую переменную userid, чтобы форма "Здравствуйте, $username" содержала не имя пользователя,а пароль.
нифига не понял Эта форма в чате ? Такой формы нет
Не, я правда не понял - о чём речь

Quote:
Originally Posted by netwind
фигня конечно, но неприятно)
 
 

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 10:33 PM.


Powered by vBulletin® Version ?.?.?
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.