12.07.2015 Views

Взлом GSM - Xakep Online

Взлом GSM - Xakep Online

Взлом GSM - Xakep Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

взломАдминка башаА так выглядит httpd.conf баша!После успешного сабмита я увидел мессагу от e107: «Your message wassuccesfully sent!», а также новое мыло в своем ящике, где в поле«To:» были хеш и логин админа tanibata.ru:"To: "30e50569d9a3d6f73ec5075754d43d07 Ren" "Для успешного входа в админку портала мне жизненно необходимо былорасшифровать полученный хеш, так как копаться в исходных кодах e107, отвечающихза авторизацию пользователей, опять не позволяла та же лень.Я полез на всеми любимый сервис по расшифровке md5‐хешей plaintext.info,который, к глубочайшему сожалению, не смог мне ничемпомочь. Не отчаиваясь, я просмотрел список всех юзеров танибаты с помощьюhttp://tanibata.ru/e107_plugins/forum/forum_stats.php. Приветливыйскрипт подсказал мне, что на портале есть и второй админ с ником Selenaи ID=2, к которому я и применил свой мегасплойт. Новый хеш e10adc3949ba59abbe56e057f20f883e plain-text.info расшифровал уже сбольшей охотой, в результате чего я и оказался в админке http://tanibata.ru/e107_admin/admin.php с данными Selena:123456 :).Кавай!Далее было бы логично залить шелл. Чем я тут же и занялся! Потыкавнемного по различным пунктам админки и убедившись, что любой аплоадфайла с расширениями .php, .phtml режется на корню, я случайнонаткнулся на интересную форму того же аплода в управлении плагинами.Эта форма поддерживает загрузку новых плагинов, запакованных в zip илиtar.gz. Следуя этой логике, я запаковал свой шелл в zip и успешно загрузилего, в результате чего получил доступ к серваку по адресу http://tanibata.ru/e107_plugins/404.php?stulcheg :). Немного пошастав по серваку, я нашелсам башорг в /export/hosts/bash.org.ru/documents, где в дальнейшеми остался для изучения всей подноготной баша.Глубже!Первым каталогом, заинтересовавшим мое внимание, был admstat.Перейдя по адресу http://bash.org.ru/admstat, я увидел незащищеннуюпаролем статистику зааппрувленных и перелопаченных модераторамибаша цитат! Как стало видно из статистики, наиболее активным модеромявляется ujin :). Следующим каталогом для изучения стал app42. По этомуадресу находится админга русского башорга. Но чтобы попасть в нее, нужнобыло изучить механизм авторизации в app42/index.php. Меня заинтриговалследующий код:if (isset($_COOKIE["panda"]) and isset($_COOKIE["kopanda"])) {058$check = $db->get_results("select id, login,password from moderators where md5(login)='".$_COOKIE["panda"]."' and password='".$_COOKIE["kopanda"]."'", ARRAY_A);if (!empty($check)) {$moderator_id = $check[0]['id'];setcookie("panda", $_COOKIE["panda"], $time+3200);setcookie("kopanda", $_COOKIE["kopanda"],$time+3200);$db->query("update moderators set lastseen_at=now()where id=$moderator_id");$smarty->assign("MODERATOR_ID", $moderator_id);} else {header($failover."login");}} else {if ($request_action != 'login')header($failover."login");}...case 'login':if (isset($_POST['login'])&& isset($_POST['password'])) {$login = $_POST['login'];$password = $_POST['password'];$check = $db->get_results("select login, passwordfrom moderators where login='$login' and password=PASSWORD('$password')", ARRAY_A);if (!empty($check)) {setcookie("panda", md5($login), $time+3200);setcookie("kopanda", $check[0]['password'],$time+3200);header($failover);}}$template = 'admin_login.tpl';break;Отсюда следовало:1. Логины и пароли модераторов хранятся в таблице moderators. Поляlogin и password, соответственно.2. Пароли модераторов зашифрованы встроенной функцией mysqlPASSWORD().3. Если существуют куки со следующим содержанием — $_COOKIE[“panda”]=md5(‘логин_модератора’) и $_COOKIE[“kopanda”]=PASSWORD(‘пароль_модератора’), то ты оказываешься успешно залогиненнымв админку.xàêåð 07 /115/ 08

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!