パス名がわかっている場合は、サーバーからファイルをダウンロードしてみてください。

パス名がわかっている場合は、サーバーからファイルをダウンロードしてみてください。

この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>

考えてみてください。これが可能であれば、どれほど大きなセキュリティ問題になるのでしょうか?ハッカーがアクセスできるみんな送信済みみんなネットワークサーバー。

おすすめ記事