2014-09-22 2 views
1

У меня есть вопрос. Попросите вас прочитать сценарий следующим образом:Запуск Netcat из браузера

Предположим, что netcat уже существует на удаленной машине (Примечание: он не прослушивает какой-либо порт). У меня есть единственный способ заставить его начать прослушивание на определенном порту с мой браузер. Так что, пожалуйста, скажите мне, как я могу заставить его начать слушать, потому что технически, когда вы удаляете этот файл удаленно, браузер попросит вас загрузить/сохранить его.

Но я хочу, чтобы я запускал его на целевой машине, чтобы иметь полный доступ к этой удаленной машине.

Так можно ли запустить netcat из браузера на целевой машине ???

Thanx в Advance

ответ

0

Это риск безопасности, но возможно, как это. Создайте сценарий CGI и поместите его там, где ваш сервер ожидает их найти, - проверьте свой httpd.conf. Сохраните следующий сценарий как test.cgi и сделайте его выполнимым, используя chmod.

#!/usr/bin/perl 

use strict; 
use warnings; 
use Proc::Daemon; 

print "Content-type: text/plain\n\n"; 
print "Starting nc...\n"; 
Proc::Daemon::Init; 
`/usr/bin/nc -l 2222`; 

Теперь просто поместить адрес скрипта в адресную строку браузера и нажмите Enter. Я просто заставил его прослушивать порт 2222 и ничего не делать с входящими данными, но вы можете делать все, что угодно, с данными, которые вы получаете, - в том числе с трубопроводом в оболочку для гораздо большей угрозы безопасности :-)

Примечание Возможно, вам понадобится установить Proc::Daemon в ваш дистрибутив Perl, если он еще не установлен.

Примечание Вам нужно будет установить Options ExecCGI и сделать AddHandler cgi-script .cgi

Примечание

Если вы не можете или не хотите установить Proc::Daemon, вы можете взломать его так:

#!/usr/bin/perl 

use strict; 
use warnings; 

print "Content-type: text/plain\n\n"; 
print "Starting nc...\n"; 
my $pid=fork(); 
die "Unable to fork: $!" if !defined $pid; 

if($pid==0){ 
    # This is the child, run netcat 
    open STDIN, "</dev/null"; 
    open STDOUT,">/dev/null"; 
    open STDERR,">/dev/null"; 
    `/usr/bin/nc -l 2222`; 
} else { 
    print "Child started\n"; 
} 
+0

Спасибо, товарищ за ответ .... Я попробую это, но я думаю, что в нем много неприятностей .... Ну еще одна вещь, которую я забыл o упомянуть, что на целевом компьютере установлена ​​ОС на базе ОС Windows. На ней работает Oracle Application Server 11g, и я думаю, что это среда J2EE. Возможно, это то, что я думал о загрузке оболочки JSP на сервер. Надеюсь, это должно быть выполнено. Пожалуйста, поправьте меня, если я ошибаюсь. Но теперь проблема в том, что я не знаю, как мне получить путь к JSP Shell. Эту проблему можно обойти, если я могу получить папку, в которую файлы загружаются администратором. –

+0

Как для Xampp, папка по умолчанию для загрузки файлов - «htdocs» .. Аналогично, у вас есть представление о каталоге по умолчанию для Oracle Application Server 11g, если есть какие-либо ... это было бы очень полезно man..ThanX –

+0

I предположите, что у вас возникнет проблема с веб-страницей, зависающей до тех пор, пока ваш «netcat» не завершится или не погаснет, поэтому я сделал это выше. Извините, я ничего не знаю о Oracle или J2EE. –

Смежные вопросы