我有一个问题。请求您阅读如下场景:从浏览器运行Netcat
假设netcat已经存在于远程计算机上(注意:它没有监听任何端口)。我有唯一的选项让它开始监听某个特定的端口我的浏览器只。所以你可以告诉我如何让它开始倾听,因为从技术上讲,只要你远程访问该文件,浏览器就会要求你下载/保存它。
但我想要的是,我想在目标机器上运行它,以便我可以完全访问该远程机器。
那么有可能从目标机上的浏览器运行netcat?
ThanX提前
我有一个问题。请求您阅读如下场景:从浏览器运行Netcat
假设netcat已经存在于远程计算机上(注意:它没有监听任何端口)。我有唯一的选项让它开始监听某个特定的端口我的浏览器只。所以你可以告诉我如何让它开始倾听,因为从技术上讲,只要你远程访问该文件,浏览器就会要求你下载/保存它。
但我想要的是,我想在目标机器上运行它,以便我可以完全访问该远程机器。
那么有可能从目标机上的浏览器运行netcat?
ThanX提前
这是一个安全风险,但可能像这样。制作一个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";
}
感谢队友回覆....我会尝试这个,但我认为它有很多麻烦....好吧,我忘了另外一件事o提及目标机器具有基于Windows的操作系统..它具有运行在其上的Oracle应用服务器11g,并且这是我猜测的J2EE环境。或者,我正在考虑的是将JSP shell上载到服务器上。我希望应该执行。如果我错了,请纠正我。但现在的问题是我不知道如何获得JSP Shell的路径。如果我可以获取管理员上传文件的文件夹,则可以绕过此问题。 – 2014-09-22 18:15:17
与Xampp一样,上传文件的默认文件夹是“htdocs”..同样,如果有任何关于Oracle应用服务器11g的默认目录,您是否有任何想法..这将是非常有帮助的人.. ThanX – 2014-09-22 18:17:20
I怀疑你的网页会挂起一个问题,直到你的netcat完成或超时,这就是为什么我已经按照上面的方式完成了。对不起,我对Oracle或J2EE一无所知。 – 2014-09-22 18:35:29