Как был взломан sPaiZ-Nuke.net » Портал развлечении, soft, игры, фильмы, эротика, все для трубы, скрипты, железо, халява, статьй

Навигация:
    Главная
   
Софт
  
  Игры
  
  НС - WP
  
  Фильмы
  
  Эротика
  
  Эротические историй
  
  Мобилка
  
  Скрипты
  
  Железо
  
  Халява
  
  Лента Статей
  
  Защита и Хак
  
  Программирование
  
  Windows
  
  Форум
  
  Главбух
  
  Магазин
  
  Игры
  
  Фото
  
  Диски
  
  WM-SHOP
    
Обмен ссылками
Вход на сайт
Логин
Пароль
 
Регистрация на сайте
Забыли пароль?
Команда сайта:

ICQ status505-710
ICQ status180-974

Популярное:

Banners:

 

Друзья сайта:

  

  
 Как был взломан sPaiZ-Nuke.net
Автор: Terabyte

sPaiZ-Nuke.net - это официальный сайт движка сайтов сделанного на основе PHP-Nuke. Отличия заключаются в том, что sPaiZ-Nuke (далее просто SN) на много урезан в коде, но как показала практика не менее дыряв. Основой для взлома была дыры найденная группой RusH (http://rst.void.ru) в PHP-Nuke version <= 7.0 FINAL (http://rst.void.ru/texts/advisory16-ru.txt). Представляет она из себя SQL-инъекцию. Она заключается в следующем: уязвимость находится в модуле Survey и удаленный атакующий может внедрить произвольный sql-код используя отсутствие фильтрации переменной pollID. Данная уязвимость может быть использована для получения хешей паролей пользователей портала:

www.victim.com/php-nuke/modules.php?name=Surveys&pollID=a'[sql_code_here]

По хорошему стечению обстоятельств выяснилось, что и SN подвержен этой уязвимости ;-) Далее есть два пути: внедрить свой SQL-код или воспользоваться приватным сплоитом (r57nuke-survey.pl). Ни то ни другое я вам дать не могу, по понятным причинам :-)

Далее для получения MD5 хеш админа нужно было узнать его имя. Явным образом оно не присутствовало в новостях на сайте, но его можно узнать несколькими способами:

1) Первым делом я нашел асю админа на сайте и просто постучавшись к нему с помощью Социальной Инженерии, быстро узнал под каким он ником зареген (его имя оказалось Sensey).
2) Самый верный и быстрый способ, как потом оказалось, имя админа можно узнать из названий рисунков, например:

Т.е. делаем поиск в исходнике главной страницы по слову "images/authors/".
3) Как правило это юзер у которого больше всего постов на сайте. Данная статистика общедоступна.
4) Большинство админов первым делом регистрируются под ником admin.

Теперь зная имя админа, я без проблем узнал его хеш. Далее для попадения в админку у меня опять было два пути:

1) Набрутить пароль который находился в этом хеше
2) Подставить хеш в куку. Это способ наиболее быстрый, т.к. требует только знаний, как модификацировать куку и формат в котором хранится в них хеш. Например, почти все известный на сегодня движки хранят хеш в куке: phpBB, PHP-Nuke, Invision Power Board (в ранних версиях, в куке хранился пароль в открытом виде) и т.д. Не исключение оказался и наш SN.

Сначала я выбрал первый способ в надежде на пароль от дурака, но после 10 минут брута в MD5Inside 1.0.1.0 (http://www.web-hack.ru/download/info.php?go=75) я понял, что лучше выбрать способ с кукой. Для определения формата в котором хранятся данные в куке мне потребовалось скачать с сайта производителя последнюю версию SN 1.3 и установить на localhost. Далее я залогинился под админом в IE (строение и способ изменения кук в IE на тот момент я знал больше, чем в Опере) и открыл IECookiesView 1.50 (http://www.web-hack.ru/download/info.php?go=78). Открыв куку я увидел, что переменная Key у куки называется admin, а Value (где и должен был находиться хеш) имеет значение:
YWRtaW46NjM2MGYzOTNlMzYwMmIzZmU5MGM4OTZhNGNhY2ZiMDk=
Данное значение не совсем походило на хеш =), но знак "=" на конце подсказал мне что это какой то текст закодированный в base64 (как потом выяснилось после изучения исходника auth.php это оказался base64) и после довольно простой программки в PHP:



Оказало, что это действительно base64 и в переменно Value харнится:
admin:6360f393e3602b3fe90c896a4cacfb09 // Т.е. имя_админа:md5_хеш

Теперь нам предстояло получить с сайта жертвы любую куку и изменить ее на:
Key=admin
Value=логин_и_пароль_в_md5_зашифрованный_в_base64

Первым делом я зашифровал с помощью base64_encode() логин и пароль админа и полез на сайт с целью получить куку. Но тут меня ждал очередной облом, т.к. все опросы (работаю на основе запоминания IP на 15 мин.) и т.п. не создают куков. Пришлось опять стучаться к автору движка и применять Социальную инженерую. После не долгого разговора выяснилось, что куки создаются только для админа и обычный посетитель сайта их не может получить.

На этом этапе я немного встал в тупик: куку с сайта жертвы я получить не мог, отредактировать переменную "Web site" в куках от IE я не могу (о том почему не мог и как все же выйти из ситуации читайте в моей следующей статье), а изучать способ хранения кук в других браузерах у меня не было желания в тот момент =)

Через некоторое время мой друг (NivaX) напомнил мне что в AccessDiver (http://www.web-hack.ru/download/info.php?go=6) есть прекрасная возможность работать с HTTP на низком уровне, т.е. видеть все ответы сервера и передвать ему различные заросы (GET, POST и в т.ч. куки). Я включил режим Expert и прошел по вкладкам: Extras Tools\HTTP Debugger. Теперь мне предстояло сделать запрос к admin.php который бы менял пароль. Странице на которой меняется пароль оказалась: admin.php?op=modifyadmin&chng_aid=[имя_админа]

После изучения исходника html-страницы я сделал POST-запрос:

chng_name=God&chng_aid=Sensey&chng_email=admin@lamer.gi&
chng_admlanguage=&chng_radminarticle=1&chng_radmintopic=1&
chng_radminsurvey=1&chng_radmindownload=1&chng_radminsuper=1&
chng_pwd=web-hack.ru&chng_pwd2=web-hack.ru&adm_aid=Sensey&op=UpdateAuthor

В переменных chng_aid и adm_aid хранилось имя админа, а в chng_pwd и chng_pwd2 новый пароль. Обратите внимание, что нету формы для запроса старого пароля, если бы такая имелась то моя попытка сменить пароль провалилась (интересен тот факт, что после общения с разработчиком после взлома он так и согласился создавать форму для ввода старого пароля). Формат куки передаваемой в AccessDiver был:
admin=YWRtaW46ODMxOTZhZWI2NjI5ZTMyNmI1YjZmNGFhN2M5MTJkYTk=

После этих манипуляций я легко залогинился под своим новым паролем и запостил в новостях красивую новость с заголовком "Hacked by Terabyte" - http://www.web-hack.ru/defaced/spaiz-nuke.net.jpg

Хочу заметить, что никаких деструктивных операций я не производил, а взлом был сделан лишь из тех соображений, чтобы бы указать автору на уязвимость, а не из-за врожды, ненависти и т.п. Еще хочу заметить, что взлом не удался бы (не смог бы получить хеш) если на хостинге стояла не MySQL версии 4.

ОБСУДИТЬ НА ФОРУМЕ!

Уважаемый посетитель, Вы вошли на сайт, как незарегистрированный пользователь. Мы рекомендуем вам зарегистрироваться, либо войти на сайт под своим именем.

 (голосов: 0)
Panamka | 25 ноября 2006 | | Печать
 Добавление комментария
Ваше Имя:
Ваш E-Mail:
Смайлики:    smile wink wassat tongue laughing sad angry crying 


 

Код:

Включите эту картинку для отображения кода безопасности

Введите код

 


  
Полезное:

Счетчики:

 

Голосование:

Чего не хватает сайту ?
Игр
Софта
Статеи
Эротики
Мобилки
Фильмов
Скриптов

Панель кнопок:

 

Web 2.0 Online Dating Service with Dating Games: www.FirstClickFriend.com
Портал развлечении Каталог