私はコードをもっている
File file = new File(fileName)
これfileName
は私が他の詳細から準備しています。しかし、私は得ています
ファイル名またはパスの外部制御
コードをセキュリティ スキャン ツール 'Vera Code' に送信すると、欠陥が発生します。誰かがこれを解決する方法を教えてください。
fileName
報告された問題は、ユーザー入力や構成ファイルの変更などによって、誰かが外部から を変更できる可能性があることを意味します。CWE-73: ファイル名またはパスの外部制御も参照してください。
これにより、攻撃者がファイルシステム上の任意のファイルにアクセスして、ファイルを読み取ったり、意図したもの以外のファイルを上書きしたりする可能性があるというセキュリティ上の欠陥が発生します。
あなたのさまざまな部分のソースが何であるかを確認する必要がありますfileName
。たとえば、ユーザーがextn
Web UI を介して を提供できるとします。アプリケーションでユーザー入力をさらに検証せずに使用すると、ユーザーはアクセスしてはならないファイルにアクセスできる可能性があります。
User input: extn="/../etc/passwd"
Resulting fileName: "/certificateId docTypeLongName_FileId/../etc/passwd"
これを解決するには、検証を使用して入力に などの特定の文字列が含まれていないことを確認するか、ホワイトリスト..
を使用して (可能な入力範囲が制限されている場合)、既知の値のみが送信されるようにします。