2014-09-22 161 views
1

我有一個問題。請求您閱讀如下場景:從瀏覽器運行Netcat

假設netcat已經存在於遠程計算機上(注意:它沒有監聽任何端口)。我有唯一的選項讓它開始監聽某個特定的端口我的瀏覽器只。所以你可以告訴我如何讓它開始傾聽,因爲從技術上講,只要你遠程訪問該文件,瀏覽器就會要求你下載/保存它。

但我想要的是,我想在目標機器上運行它,以便我可以完全訪問該遠程機器。

那麼有可能從目標機上的瀏覽器運行netcat?

ThanX提前

回答

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 ExecCGIAddHandler 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應用服務器11g,並且這是我猜測的J2EE環境。或者,我正在考慮的是將JSP shell上載到服務器上。我希望應該執行。如果我錯了,請糾正我。但現在的問題是我不知道如何獲得JSP Shell的路徑。如果我可以獲取管理員上傳文件的文件夾,則可以繞過此問題。 – 2014-09-22 18:15:17

+0

與Xampp一樣,上傳文件的默認文件夾是「htdocs」..同樣,如果有任何關於Oracle應用服務器11g的默認目錄,您是否有任何想法..這將是非常有幫助的人.. ThanX – 2014-09-22 18:17:20

+0

I懷疑你的網頁會掛起一個問題,直到你的netcat完成或超時,這就是爲什麼我已經按照上面的方式完成了。對不起,我對Oracle或J2EE一無所知。 – 2014-09-22 18:35:29