問題タブ [path-traversal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - パス トラバーサル攻撃を防御する最善の方法は何ですか?
私は Java サーバーの実装 (問題がある場合は TFTP) を使用しており、利用できないファイルや場所へのアクセスを許可するパス トラバーサル攻撃の影響を受けないようにしたいと考えています。
これまでの防御における私の最善の試みは、一致するすべてのエントリを拒否し、パスからコンポーネントを解決することFile.isAbsolute()
に依存することです。最後に、結果のパスがまだサーバーの必要なルート ディレクトリ内にあることを確認します。File.getCanonicalPath()
../
./
これが見逃しているセキュリティ上の問題はありますか? 同じ結果を確実に達成するためのより良い/より速いものはありますか?
コードは、Windows と Linux で一貫して機能する必要があります。
java - JavaFX のネストされた PathTransitions
ノードを円のパスに沿って移動させ、同時にその円を長方形のパスに沿って移動させようとしています。出来ますか?
これは私がこれまでに持っているものです:
java - Java (または Scala) での上向きパス トラバーサルのフィルタリング
特定の「ルート」パスの上方../
へのトラバースからファイル パス API 入力を保護するために、上向きのディレクトリ トラバーサルの他のすべての複雑な形式など、特別なトラバーサル シーケンスを含むパスを除外できる標準ライブラリ メソッドはありますか?
ルート フォルダー値メンバーを含むクラスと、再帰的に削除するパスを受け入れるメンバー関数があります。私の目標は、この API に提供された入力パスを除外することで、この API を安全にすることです。これは、ルート フォルダーの値より上のパスに変換されます。目的は、このクラスを自由に使用してルート パスの下にあるファイルを削除することですが、ルート パスより上のファイルには決して触れないようにすることです。
これは、ブロードパス トラバーサル攻撃に似ています。
制限が厳しすぎる (つまり、偽陰性になる可能性がある) メソッドは、これが物事を単純化する場合、私の特定のユース ケースには問題ないかもしれません。日本酒は理論的にはここで機能する可能性があります)。
vb.net - VB.Net の File.Copy メソッドでの IBM AppScan Security PathTraversal の問題
VB.Net ソースで IBM AppScan ツールを実行しました。パス トラバーサル カテゴリの File.Copy メソッドで 1 つのセキュリティの問題が発生しています。
問題の詳細 - 脆弱性の種類 - パストラバーサル この API は、ディレクトリ、ファイル名、またはその両方を受け入れます。ユーザーが提供したデータを使用してファイル パスを作成すると、アクセスを許可しないディレクトリやファイル、または悪意のあるデータやコードを含む可能性のあるディレクトリやファイルを指すようにパスが操作される可能性があります。
この問題を解決するにはどうすればよいですか?
asp.net-mvc - Zap OWASP でパス トラバーサル フラグを取得しますが、パラメーターは完全に有効です
OWASP Zap を使用した侵入テストでは、多くのパス トラバーサルの「脆弱性」が見つかりましたが、レポートがすべてを語っていないか、完全に安全に見えます。例えば:
「2」は呼び出しエンティティの ID であるため、システムで必要になります。同じ種類のものは明らかに多くの場所で使用されていますが、Zap が不満を言うのはこれだけです。通常、2 を別の整数に置き換えるか、別のパラメーター「PressContacts」に完全に有効な文字列を渡すことによって、いくつかの例を見つけます。
MVC では、これらは int と int のリストにバインドされているため、私が知る限りサニタイズされています。
問題が何であるかを正確に知るにはどうすればよいですか、または Zap に間違ったツリーを鳴らしていることを伝えるにはどうすればよいですか? GET と POST に応答するさまざまな MVC アクションがあり、レポートではどちらにヒットしているかが明確ではありません。
本当に明らかな何かが欠けている場合は、事前にお詫び申し上げます。Zap を使用するのはこれが初めてなので、何かを完全に誤解している可能性があります。