web-dev-qa-db-ja.com

パストラバーサルフィルターバイパステクニック?

私は、管理目的でWebインターフェースを備えたLinuxベースの組み込みシステムを持っています。 セキュリティペーパー によると、このWebサーバーには、URLパラメータのディレクトリトラバーサル攻撃に対する初歩的なフィルタがあります。したがって、「../」フィルターをバイパスするには、特別な文字列を含むURLを使用する必要があります。一般的なパストラバーサルフィルターのバイパス手法は何ですか?

12
Martin

フィルターをバイパスできるようにするさまざまなエンコーディングがあります。

  • フォルダ名の先頭にある/\を試して、ルートディレクトリに到達してみてください。
  • %2f%5c(上記のエンコードされたバージョンのパーセント)を試してください。
  • 16ビットUnicodeエンコーディングを使用してみてください(. = %u002e/ = %u2215\ = %u2216)。
  • 二重URLエンコードを試してください(. = %252e/ = %252f\ = %255c)。
  • 長いUTF-8 Unicodeエンコーディングを試してください(.%c0%2e%e0%40%ae%c0ae/%c0%af%e0%80%af%c0%2fなどにすることができます。\%c0%5c%c0%80%5cにすることができます)。

上記のいずれかを試して別の応答が返された場合は、アクセスされている実行パスまたはファイルシステムパスを変更できました。これは、使用されている特定のシーケンスが追加の調査に値する可能性があることを示している可能性があります。

11
SilverlightFox

Webアプリのセキュリティのために、多くの一般的なハッキングが関連するOWASPテストガイドと攻撃ページに記載されています。 OWASPは、パストラバーサル attack および testing guide を提供します。

一般的な概念は、パストラバーサルコードをだますことができる文字を使用することです。埋め込まれたnull、Unicode表記などのようなものは、パストラバーサルフィルターをバイパスすることがあります。

強力な実装はこれらの影響を受けないことに注意してください。キャラクターのホワイトリストやその他の対策を使用して、これらのトリックが成功しないようにします。

4
Neil Smithline