2012-03-19 9 views
2

私は、ページが開かれてmetasploitを起動するPHPスクリプトを書くのに失敗しています!アプリケーションを起動するためのサーバーサイドスクリプト

私はshell_execとexecと他のすべての選択肢を試しましたが、msfconsoleを試してみると簡単なこと(つまりls、cdsなど)を行うことができますが、何もしません!

また、別のスクリプトを試してFirefoxを起動しましたが、何も起こりません!

今、私はphpがサーバ上で動作していることを知っています。クライアントマシンでコンソールやFirefoxを開くことを期待していません!代わりに、それが動作するかどうかを確認するために私はshell_execの出力をエコーし​​ようとしています!しかし、実際に私のマシン(つまりこれはサーバーとVMはクライアントです)上のファイルをホストして以来、コマンドラインからこれを行うのと同じ方法で、ここでアプリケーションを開くことができるはずです!

私には何が欠けていますか?

これを行うには、他の方法があります

NOTE?(すなわち、ユーザーが自分のページを開きますMetasploitの毎回を起動します。):私はmsfconsoleのフルパスが、どちらかそれdidntの仕事を指定しようとしました!

相続人は私が持っているもの、これまで:

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

「;ショー」ビットは、実際にそれが何かを実行し、いくつかのものを印刷するが、任意の違いを確認didntは作るために使用されました!

答えて

1

Xウィンドウシステムのコマンドプロンプトからguiアプリケーションを実行すると、デフォルトの表示が使用されます。 apache webserverに組み込まれているphpを使用して実行すると、プログラムはGUIアプリケーションをどこに表示するのかわからないことがあります。

この作業を行うには2つのことがあります。

  1. GUIアプリケーションは、あなたが使用することを表示するプログラムを指示する必要があります表示
  2. を使用する権限を持っている必要があります実行するプログラム。

私はgeditのアップとランニングを得た私のPHPスクリプトで

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

を次のように使用し、test.phpを -f PHPを使用して、端末からスクリプトを実行しました。

これはApacheのスクリプトでもテストできます。 ディスプレイ・サーバにアクセスするための権限を持つApacheのユーザーを追加してください

アップデート:私はちょうど

User poomalai 
Group poomalai 

を(私はUbuntuのに使用しています)/etc/apache2/apache2.confに以下を追加し、Webサーバーを再起動し 私はlocalhost/test.php とPrestoにアクセスしました!私はgeditを持っています:)

希望するこれは役に立ちます

関連する問題