PHP-SPB
Из личного опыта решил написать кое что о чатах на движке Бородина и php-spb. Юзал первый раз 3 года назад. Сейчас вспомнил вдруг про некоторые уязвимости.
1. Заливка шелла через админку чата
Если у вас есть доступ к админке чата, то вы можете залить туда шелл следующим способом:
Заходите в админку, открываете "HTML/JS/PHP шаблоны всех скинов", выбираете скин (желательно def, если стоит другой). Далее открываете файл __skin1.php (или __skin2.php). И вставляете туда php код шелла.
Для того чтобы открыть его необходимо в браузере набрать:
Код:
http://site/chat/skin/имя_каталога/__skin1.php
имя_каталога - это тот самый def или другой куда вы лили шелл.
2. Просмотр админских записей в модуле "Записная книжка в админке"
В модуле "Записная книжка в админке" все работает по принципу: fopen, fread, fputs и fclose. Следовательно никакой шифровки записей нет и они хранятся в открытом виде в файле. По дефолту (как ставят 90% админов чатов) записная книжка хранится в директории: src с названием notebook.txt .
Для чтения открываем:
Код:
http://site/chat/src/notebook.txt
и читаем, что пишут админы.
Особенно обратите внимание, что если используется новая админка (adminka Doom edition), то там адрес будет такой:
Код:
http://site/chat/src/notebook_adm.dat
P.S: фокус иногда не срабатывает из-за .htaccess
3. Модуль "Антиреклама в чате" aka "Цензор"
Просмотр того, что админы запретили писать в чате, думая, что это реклама.
По дефолту данные хранятся и записываются в файл bwrds.dat в корне чата (большинство админов так и оставляют, из-за лени или непонимания кода модуля).
Открываем из браузера:
Код:
http://site/chat/bwrds.dat
и спокойно читаем содержимое файла.
4. Просмотр ссылок, которые по идее могут видеть "только" админы с определенным уровнем доступа.
В чате справа снизу есть маленький фрейм. От имени юзера мы можем видеть только обычные ссылки, которые для нас и предназначены. Но для модераторов и администраторов там есть специальные ссылки, которые юзерам недоступны. Для их просмотра делаем следующее:
4.1 Узнаем название директории, где хранится скин, который установлен в чате по-умолчанию:
Открываем персональные настройки в чате, далее смотрим исходный код страницы и ищем код следующего содержания:
Код:
<option value="dir_name" selected>по-умолчанию<option value="dir_name" selected>имя_скина</select>
dir_name - это то, что нас и интересует.
4.2 Открываем в браузере ссылку данного вида:
Код:
http://site/chat/skin/dir_name/frame_more_admin.html
Где site - адрес сайта, chat - путь до чата, skin - папка со скинами чата, dir_name - имя директории со скином по дефолту, frame_more_admin.html - файл, где хранятся данные с секретными ссылками.
5. "Чтение паролей при локальных инклудах на сайте или чате"
Обнаружил совсем недавно данную уловку (около 4-ех месяцев назад).
Секрет в том, что если помимо чата стоит сайт с уязвимостью php-injection или в самом чате есть такая. (главное - нужен локальный инклуд).
Все пароли юзеров и админов чатов версии > 4.07, на движке php-spb хранятся в директориях daemon/db2 в файлах, с зашифрованным названием. ... При удаленном инклуде действуем так:
5.1 Узнаем какой файл нам нужен. Для этого ставим чат у себя на компе. Как это сделать можно почитать тут:
Код:
http://php.spb.ru/chat/readme.html#win
После установки регистрируем полностью похожий ник, который мы хотим из другого чата. Далее заходим в чат на компе под админом и открываем инфу того юзера. Снизу будут разные ссылки, нажимаем на "Скрытые поля в инфе юзера" и смотрим файл БД. Он то нам и нужен.
5.2 Далее просто вводим:
Код:
http://site/chat/script.php?include=путь_до_этого_файла.db2
Пароль будет в таком виде:
"pass";s:19:"password";
password - это будет наш пароль.
На данный момент пока все, что знал сам из личного опыта пользования чатами на этом движке
(c) USAkid 2008