Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Лузерский прикол и лекарство от него!
ТвойWeb » » Моды, хаки, скины и дополнения » Лузерский прикол и лекарство от него!

Страниц (3): [1] 2 3 »
 

1. TEiD - 30 Июля, 2006 - 13:50:36 - перейти к сообщению
Внимание! Найден прикол в форуме, работает на любой версии форума, нет заплаток!
Прикол в том что злоумышленник намеренно запрашивает пароль админа и что делает форум? Правильно: меняет админу пароль и отсылает на мыло, но в чём вещь так можно 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 в параллельный топ Улыбка
2. ETC - 01 Августа, 2006 - 05:09:39 - перейти к сообщению
TEiD пишет:
Принцип работы: заплатка проверяет ид того человека для которого запросили пароль, если у него ид = 1, то есть это супер админ, то выдает сообщение типа "отвали" и запысывает в лог кто и когда попытался поиздеваться над админом, если же не 1 ид, то пароль меняеться, высылаеться, как обычно

Угу, только запросить пароль может только гость, а это может быть и админ, потерявший пароль.
3. TEiD - 01 Августа, 2006 - 19:43:12 - перейти к сообщению
ETC - админ пароль может изменить, постучавшись другому админу и ваще - енто какой должен быть админ что свои пароли теряет Улыбка
4. ETC - 02 Августа, 2006 - 16:56:52 - перейти к сообщению
тем не менее, это ограничение функциональности
5. TEiD - 02 Августа, 2006 - 16:59:11 - перейти к сообщению
ETC уже кажу сори за флуд но всё же все мои знакомые с ЭксББ поставили, ведь 40 писем с паролем за 10 минут? Притом у меня администрация хостинга предупредила мол чаво енто ваш сайт спамит мыло кому-то, отрубим блин! Знаеш не приятно...

А админ всё же не может забывать свои пароли!
6. Леголегс - 03 Августа, 2006 - 12:31:06 - перейти к сообщению
ИМХО, надо ограничение по времени поставить, типа не больше 1 запроса пароля в сутки для одного аккаунта. Честным людям хватит.
7. TEiD - 04 Августа, 2006 - 01:14:11 - перейти к сообщению
Леголегс а если как у вас у сайта лимит по письмам? Я помню когда старый пароль потерял мне пришлося запросить новый раз 5, чтобы войти на форум, потому что проблему с почтой!
8. Леголегс - 04 Августа, 2006 - 14:28:10 - перейти к сообщению
TEiD пишет:
а если как у вас у сайта лимит по письмам?
А лимит по письмам не по суткам считают? Не, ну можно конечно и раз в час, но тогда можно будет уже 24 письма в день делать.
9. TEiD - 04 Августа, 2006 - 14:57:09 - перейти к сообщению
Леголегс всё равно - даже если раз в день, доставать будет, мне сделали, я ваще взбесился так, что эту функцию по началу вообще выкинул)
Короче я думаю заплата не зря, кстати глянь, вот юзерь поддержал:
http://www.ts-board.ru/topic.php...m=44&topic=4
Так что...
10. Ray Wen - 04 Августа, 2006 - 15:03:31 - перейти к сообщению
Да нет, это тогда секретное слово и вопрос нужно делать... иначе по моему толков мало...

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0446]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33