Ня))) Орбик постаралсо.Всё ещё надеюсь на SSH и другие специфические вещички,которых нет у с99(опять ня).Подумаю,что можно ещё добавить оО: А если флудер/спамер мыл туда присобачить,как в NFM ?)))(по списку и одному).Кому-то это покажется бесполезным,но по мне так наоборот - куча прог в одном скрипте,которые мона заюзать на хосте... Веля не параноик!)
2Велемир Может сразу туда добавить спамер однокласников и добавления видео с ютуба или получения прямых ссылок с файлообменика?
Предлагаю добавить следующее: 1.Показ IP/DNS сервера.Это нужно для того,чтобы по сотню раз не юзать команды. 2.Поставить эксплойты,как в NFS и GNY. 3. RFI/LFI FINDER.Видел такую реализацию и на производительности это никак не сказалось. 4.Сканер портов,дабы не бегать за сканерами.Реально напрягает.Всё это уже реализовано во многих шеллах.Лично я бы юзал их,если б не их минусы и дизайн. 5. PHP Safe-Mode Bypass.Читалка/писалки хорошо было бы видеть в последующих релизах. Это всё.Спасибо за внимание.
Велемир, 1. IP итак показывается. DNS? А зачем? оО 2. вот поэтому они и весят по пол метра, а мой всего 20 килобайт. 3. Опять же лишний вес. И эта вещь мало кому нужна. 4. Возможно. 5. итак есть. Вот только вспомнить сплойтов под safe-mode для записи в файл, я что-то не могу. ps: готовится версия 2.1
shellz[21h], у меня нету достаточной информации, чтобы ответить на Ваш вопрос. Могу задать лишь встречные вопросы: 1. как обстоят дела с биндпортами на других шеллах? 2. Что за система? 3. Если есть возможность скинуть линк на шелл в пм?
Я тестирую на локалхосте, как выяснилось дело не в биндшелле который в вашем шелле, так как пробывал забиндить порт другим средствами, аналогичная проблема. На других хостах не тестил, но думается все работает.
Если биндить шелл, чтоб он запускал bash [ system('/bin/bash -i'); ] интерактивном режиме, то все работает.
Новая версия: 2.1 Обновил первый пост. Кратко об изменениях: Фиксы багов В SQL-менеджере пишется число записей в таблице SQL дамп и файлы качаются упакованными Добавлена возможность постраничного просмотра содержимого таблиц SQL-менеджер теперь работает и с PostgreSql Добавлена возможность выбора как отправить запрос (AJAX или без него) Улучшена работа шелла в инклюдах. Небольшой конфиг в начале шелла В планах на будущее: реализовать идею Digimortal'а об рандомных именах параметров и шифровании данных при передаче для обхода IDS
Не знаю как получаешь список файлов - на NetWare с safe_mode on не видет папок и файлов кроме себя хотя тот же r57 все замечательно видет,та даже вот так все выводится print_r(scandir("./")) а в твоем шелле почему то нет.
PaCo, спасибо за тест. Парочка встречных вопросов: 1. Если можешь, выложи ls -la той папки 2. Настройки пхп. Интересуют больше safe_mode_gid и disable_functions 3. а. Что вернет is_dir($dir), где $dir - папка, которую не отображает шелл. 3. б. Аналагочино с is_file()
1)Не могу выложить ибо safe_mode, привилигии не повышал и честно не сталкивался с этим на NET WARE, вот что выводит r57: PHP: u--------- 0 31.12.1969 19:00 some_file.php u--------- 0 31.12.1969 19:00 some_file_2.php 14229335 -rwxrwxrwx 0 1011 01.06.2009 00:27 myfile_up.php u--------- 0 31.12.1969 19:00 some_file_2.php u--------- 0 31.12.1969 19:00 some_file_3.php u--------- 0 31.12.1969 19:00 some_file_4.php u--------- 0 31.12.1969 19:00 some_file_5.php u--------- 0 31.12.1969 19:00 some_file_6.php u--------- 0 31.12.1969 19:00 some_file_7.php u--------- 0 31.12.1969 19:00 some_file_8.php 14890593 -rwxrwxrwx 0 171298 30.05.2009 20:12 my_shell_name.php u--------- 0 31.12.1969 19:00 some_file_9.php 2) phpinfo() 3) is_dir(): var_dump(is_dir("../")); // bool(false) var_dump(is_dir("./")); // bool(false) var_dump(is_dir("sys:/apache2/htdocs/site_name/admin_dir/main_dir")); // bool(false) 4) is_file: var_dump(is_file("sys:/apache2/htdocs/site_name/admin_dir/main_dir/some_file.php")); // bool(false) то есть старый файл не видет по все видимости, stat этого файла также выводит ошибку, хотя readfile() выводит содежимое этого файла, равно как и file_get_contents(). var_dump(is_file("sys:/apache2/htdocs/site_name/admin_dir/main_dir/my_shell_name.php")); // bool(true) а новый файл определяеться, самое удивительное что все файлы доступны на запись и etc, по всей видимости это какие очень дикие настройки php(серверная API CGI кстати), шелл от madnet также ничего кроме себя не видет ибо наверника также опредляет файл по is_file(), только r57 тупа сканит дир и вылаживает содержимое без проверки на is_file() файлов поэтому они видны.
Вроде понял. Бага похоже заключается в том, что scandir, не смотря на сейфмод возвращает все содержимое диры. А функции по типу is_dir, is_file, file_size и т.д. не могу получить инфу о файле из-за сейфмода. Т.е. ты с этими файлами ничего сделать не сможешь. Возможно такой результат scandir - это бага сеймода той версии пхп (5.0.5).
ну не только scandir возврашает содержимое дириктории, но и PHP: if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { echo "$file\n"; } } closedir($handle); } поэтому наврятли это трабла в нем, опровергая, в файлы я могу присвободно записывать(разуметься во все что в веб дире), имхо проблема скорее либо в серверной API либо в не совсем стандартном поведении функций is_dir, is_file, file_size на Net Ware в safe_mod, потому как все функции по сохранению в файл работают отлично.
Ух...дело твоё,но вещь,на мой взгляд,очень полезна.Если учесть,что при залитии шелла можно спарсить названия всех скриптов...
oRb, на РНР 5.1.x Обход Safe Mode и open_basedir не пашет.(не знаю,есть ли у тебя обход base_dir),ибо они включены оба.Спасибо
Велемир, не существует универсального способа обхода safe mode'а для любых версий php. Если не пашет то, что заложено в шелле, и тебе реально нужен обход, тогда пробуй другие методы. PaCo, я полистал сорцы php. Теперь понятно почему ты можешь писать в те файлы. Файл: main/safe_mode.c Code: PHPAPI int php_checkuid(const char *filename, const char *fopen_mode, int mode) { #ifdef NETWARE /* NetWare don't have uid*/ return 1; #else return php_checkuid_ex(filename, fopen_mode, mode, 0); #endif } Т.е. права на чтение, изменение файла задаются только chmod'ом. Но я не разобрался в поведении функций is_file, is_dir, is_link. Тупо не нашел их реализации, только прототипы функций. Из-за отсутсвия uid в NetWare, мне вообще не понятно, как там работает safe mode =/