2012-03-19 57 views
2

到目前爲止,我一直在嘗試編寫一個PHP腳本,該腳本將在打開頁面時運行並啓動metasploit!啓動應用程序的服務器端腳本

我試過shell_exec和exec和所有其他的替代品,但儘管我可以讓它做簡單的事情(即LS,CD等),如果我嘗試msfconsole它不會做任何事情!

我也嘗試了一個不同的腳本,啓動Firefox並再次沒有任何反應!

現在我知道php運行在服務器上,我不希望在客戶端計算機上看到控制檯或Firefox打開!相反,爲了檢查它是否工作,我試圖回顯出shell_exec的輸出!但無論如何,因爲即時通訊託管我的機器上的文件(即這是服務器和虛擬機是客戶端),如果它實際上可以啓動Firefox應該能夠以相同的方式看到應用程序在這裏打開,只需從命令行執行此操作即可!

我錯過了什麼?

是否有任何其他方式做到這一點

注意?(即啓動Metasploit的每次用戶打開了我的網頁。):我試過指定爲msfconsole的完整路徑,但沒有工作要麼!

繼承人是我到目前爲止有:

$output = shell_exec('/opt/local/libexec/metasploit3/msfconsole;show'); 
echo "<pre>$output</pre>"; 

的「秀」位是爲了用於實際使其運行的東西,打印一些東西,但沒有任何區別!

回答

1

當您在X窗口系統中從命令提示符運行gui應用程序時,它將使用默認顯示。當你使用嵌入在apache web服務器中的php來運行它時,程序可能不知道在哪裏顯示gui應用程序。

有2件事情可以使這項工作。

  1. 執行GUI應用程序必須使用顯示
  2. 你需要告訴程序要使用哪個顯示許可程序。

我用我的PHP腳本

<?php 
$cmd = `export DISPLAY=:0; gedit`; 
shell_exec($cmd); 
?> 

以下和使用PHP -f test.php的 運行腳本從終端我在gedit啓動和運行。

你也可以用apache中的腳本測試。 請加入Apache用戶具有訪問權限的顯示服務器

更新:我只是說(我使用Ubuntu)

User poomalai 
Group poomalai 

在/etc/apache2/apache2.conf中以下並重新啓動Web服務器 sudo服務apache2重啓

現在我訪問了localhost/test.php 和Presto !!我得到了gedit :)

希望這會有所幫助