S3.Blog

21 Ноября 2024
A A A   RSS-лента
"Я знаю, что ничего не знаю, но многие не знают и этого". Сократ [?].

Perl: делаем WebShell сами

Дата последнего изменения: 15 Апреля 2011
Метки статьи: Perl, © Авторское
Иногда очень не хватает ssh-доступа на том или ином хостинге, но выход есть. Можно, например, поставить PHPShell и использовать его, если хитрый и коварный хостер не запретил вызов проседуры proc_open(). Еще можно поискать перловые решения или же написать скрипт самому из, буквально, десяти строчек.
 

Дабы не искушать хакеров и прочих мошенников, а точнее 12летних подростков, себя таковыми возомнивших, но не отличающих bash от bash.org.ru, я не буду приводить полную версию скрипта, ограничусь только парой строк, так сказать самим сердцем :)

#   отключить буферизацию и выводить сразу на STDOUT

$|=1;

#   $cmd - переданная команда
# 2>&1 - выводить STDERR-ошибки в STDOUT-поток, что б мы могли их видеть
my $run = $cmd . ' 2>&1'; # запустить команду на исполнение и печатать результат работы команды по мере её выполнения foreach my $a (`$run`){ print $a; }
Вот, в принципе, и вся кухня. Осталось добавить HTML-часть с формой и окном, где будет отображаться результат и немного довести до ума скрипт (добавить вывод text/html заголовка, прием cmd-параметра и т.д.), что грамотному программисту не составит особого труда

Имейте ввиду, оболочко-содержащие программы (vim, mc, joe, mysql, bash и т.д. ) запускать через подобный скрипт нельзя!



Похожие материалы:




 
  Имя *:   Решите пример *: =
 
Полужирный Курсив Подчеркнутый Перечеркнутый
 
Вставить изображение Сделать цитатой Вставить ссылку Вставить код

Вставить смайл
 
 

 



© S3.Blog: Если критикуешь, не предлагая решения проблемы, то ты становишься частью этой проблемы.