Без описания |
Поиск в теме | Версия для печати |
TEiD |
Отправлено: 30 Июля, 2006 - 13:50:36
|
Advanced Member
Покинул форум
Сообщений всего: 295
Дата рег-ции: Март 2006
Откуда: Оттуда
Карма -11
[+][+]
|
Внимание! Найден прикол в форуме, работает на любой версии форума, нет заплаток!
Прикол в том что злоумышленник намеренно запрашивает пароль админа и что делает форум? Правильно: меняет админу пароль и отсылает на мыло, но в чём вещь так можно 100 раз запросить пароль и админа будет задалбывать, короче вчера мне такое и сделали, я поставил заплату, чтобы не бесили:
Ищем функцию sendpassword() в файле profile.php
И ставим вместо:
CODE:
function sendpassword(){
global $exbb,$lang,$vars;
if (trim(intval($vars['reg_code']) ) != $_SESSION['reg_code']) error($lang['Registration'],$lang['Pers_error']);
$membername = preg_replace ($lang['search'], $lang['replace'], $vars['membername']);
$allusers = get_file($exbb['home_path'].'/data/users.php',FALSE);
$m_id = 0;
foreach ($allusers as $id=>$info) {
if ( $info['n'] == $membername ) { $m_id = $id; break; }
}
if (!checkuser($m_id)) error($lang['Pass_req'],$lang['User_unreg']);
$fp_user = NULL; $userfile = $exbb['home_path'].'members/'.$m_id.'.php';
$userdata = Get_File_Data($fp_user,$userfile,FALSE);
$newpassword = Generate_pass();
$userdata['pass'] = md5($newpassword);
$username = $userdata['name'];
save_opened_file($fp_user,$userdata);
$lang['Message_text'] = $lang['You_pass_only']."\r\n";
$time = date("d-m-Y H:i:s",time());
include('./admin/email_newpass.tpl');
sendmail($exbb['boardname'],$exbb['adminemail'],$email,$lang['Pass_onforum'].$exbb['boardname'],$userdata['mail']);
unset($_SESSION['reg_code']);
error($lang['Pass_req'],$lang['Pass_sended'],'<meta http-equiv="refresh" content="3; url=index.php "',0);
} # end routine.
Вот это:
CODE:
function sendpassword(){
global $exbb,$lang,$vars;
if (trim(intval($vars['reg_code']) ) != $_SESSION['reg_code']) error($lang['Registration'],$lang['Pers_error']);
$membername = preg_replace ($lang['search'], $lang['replace'], $vars['membername']);
$allusers = get_file($exbb['home_path'].'/data/users.php',FALSE);
$m_id = 0;
foreach ($allusers as $id=>$info) {
if ( $info['n'] == $membername ) { $m_id = $id; break; }
}
if (!checkuser($m_id)) error($lang['Pass_req'],$lang['User_unreg']);
$fp_user = NULL; $userfile = $exbb['home_path'].'members/'.$m_id.'.php';
$userdata = Get_File_Data($fp_user,$userfile,FALSE);
if ($m_id == '1') {
echo 'Пароль админа: Xdfju9ufgUUfjdufjUJ983jfelfmqwefeiot3jturejgnjunbtununUINFNEIFW(#*JR83r8 =)<BR>Powered by BABA MANYA :)';
access_log('Запрашивался пароль супер админа');
return false;
}
else {
$newpassword = Generate_pass();
$userdata['pass'] = md5($newpassword);
$username = $userdata['name'];
save_opened_file($fp_user,$userdata);
$lang['Message_text'] = $lang['You_pass_only']."\r\n";
$time = date("d-m-Y H:i:s",time());
include('./admin/email_newpass.tpl');
sendmail($exbb['boardname'],$exbb['adminemail'],$email,$lang['Pass_onforum'].$exbb['boardname'],$userdata['mail']);
unset($_SESSION['reg_code']);
error($lang['Pass_req'],$lang['Pass_sended'],'<meta http-equiv="refresh" content="3; url=index.php "',0);
}
}
Принцип работы: заплатка проверяет ид того человека для которого запросили пароль, если у него ид = 1, то есть это супер админ, то выдает сообщение типа "отвали" и запысывает в лог кто и когда попытался поиздеваться над админом, если же не 1 ид, то пароль меняеться, высылаеться, как обычно
Надеюсь пригодиться и ставить заплату советую
Есть вопросы пишите сюда или по адресу: http://ts-board.ru/topic.php?for...tid=1154292079#1 в параллельный топ |
|
|
ETC |
Отправлено: 01 Августа, 2006 - 05:09:39
|
Flash-coder
Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003
Откуда: TimeZero
Карма 26
|
TEiD пишет:Принцип работы: заплатка проверяет ид того человека для которого запросили пароль, если у него ид = 1, то есть это супер админ, то выдает сообщение типа "отвали" и запысывает в лог кто и когда попытался поиздеваться над админом, если же не 1 ид, то пароль меняеться, высылаеться, как обычно
Угу, только запросить пароль может только гость, а это может быть и админ, потерявший пароль. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (3): [1] 2 3 » |
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0, скрытых: 0) |
« Моды, хаки, скины и дополнения » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|