2016-10-05 10 views
0

これはおそらくもっとbash指向の質問ですが、セキュリティを扱っています。shelll_execでバイナリを実行しようとしています

だから私は、私は、PHP(およびもしくはshell_exec機能)を使用してアクセスできるリモートマシンからバイナリ(NC)をダウンロードしようとしている、私は/ wgetののために見て、は/ usrでそれを見つけました以下の権限を持つポートは/ FTP/リポジトリ:あなたが見ることができるよう

drwxr-xr-x 3 root wheel 512 Dec 27 2013 wget 

だから、誰もがこれを実行するabbleでなければなりません。

<?php $output = shell_exec("/usr/ports/ftp/wget"); echo "<pre>$output</pre>"; ?> 

をしかしはshell_exec(LS」)ので、私は奇妙なサーバ何も追記、を経由してこのスクリプトを実行したときに、作品は(それはそれの標準出力を見ることができます):だから、私がやったもしくはshell_execと、次のそして「LSにあるバイナリ/ binに同じ権利exacltyとして

どれ提案

PS:?このすべては、もちろん

のトレーニングラボで起こります
+0

あなたはちょうどwgetを使用しています。後でIPアドレスまたはドメインを入力して、次のような出力があるかどうかを確認してください。wget bbc.com –

+1

パラメータなしのwgetはSTDERRではなくSTDERRのヘルプを表示します。パラメータ。 – crovers

+0

いいえ、Linuxマシンでwgetを単独で使用しているときは、「wget:missing URL」が表示されます。 使用法:wget [オプション] ... [URL] ... 'wget --help 'オプションを試す – Stephane

答えて

0

これはBSDマシンのようです -/usr/ports/ftp/wgetはディレクトリです(ls出力のモードのdを参照)。 wgetが実際にそのマシンにインストールされていないと思われます。ディレクトリを実行しようとしています。

代わりにfetch(/ usr/bin/fetch)を試してください。

関連する問題