このURLを介してWebページにアクセスします。
http://someRandomName.no.meaning:20025/hello.html
hello.html
表示される位置は です/var/some/fulder/hello.html
。 (私はサーバーから/var/some/fulder/hello.html
)
私もサーバーの場所にあるファイルを知っています/home/someuser/somefolder/movie.mp4
。
このファイルをダウンロードするにはどうすればよいですか?wget
ダウンロード(マイコンピュータにコピー)するために使用できる他のユーティリティ/ツールはありますか?
ファイルに全員の読み取り権限がある場合は、ダウンロードしてみることもできます。使ってみよう
`$ wget http://someRandomName.no.meaning:20025/../../../home/someuser/somefolder/movie.mp4`
しかし、それはうまくいきませんでした。
ベストアンサー1
Webサーバーは、特定のディレクトリ内のファイルのみを提供するように構成されています。
たとえば、Apacheにはがあり、DocumentRoot
あなたの例ではに設定されています/var/some/fulder
。次のようなもの:
<VirtualHost *:20025>
ServerAlias someRandomName.no.meaning
DocumentRoot /var/some/fulder
</VirtualHost>
これにより、文書のルートの内容が表示されますhttp://someRandomName.no.meaning:20025
。ドキュメントルートの下のすべてのディレクトリは、ディレクトリ名が追加されたURLを介してアクセスできるため、経由で/var/some/fulder/stuff
アクセスできますhttp://someRandomName.no.meaning:20025/stuff
。
ここに含まれているhtmlページは、ドキュメントのルートにあるファイルを参照するstuff
ために使用できますが../hello.html
(それはドキュメントのルートにあるため)そうすることはできません。脱出するこのルートから始めて../../<anything here>
。
考えてみてください。これが可能であれば、どれほど大きなセキュリティ問題になるのでしょうか?ハッカーがアクセスできるみんな送信済みみんなネットワークサーバー。