Null Byte インジェクションからどのように保護しますか? 参照: https://security.stackexchange.com/q/378
リクエスト パラメータがファイル名として使用される場合、リクエスト パラメータの各バイトを調べて、その「バイト」値が 0 であることを検査する必要がありますか?
Null Byte インジェクションからどのように保護しますか? 参照: https://security.stackexchange.com/q/378
リクエスト パラメータがファイル名として使用される場合、リクエスト パラメータの各バイトを調べて、その「バイト」値が 0 であることを検査する必要がありますか?
次の 3 つの選択肢があります。
1 Java 文字列をスキャンして (最初に char 配列に変換します)、null バイトを探します。
2 ユーザー入力をサニタイズします (つまり、'%00' をチェックします - これは URL エンコードされた null バイトです)。しかし、注意してください!ハッカーはさまざまなエンコーディングを使用するため、#1 の方が安全です!
3 Java 8 または Java 7u40 にアップグレードすると、保護されます。(はい、私はそれをテストしました!、動作します!)
1013 年 5 月に Oracle は問題を修正しました: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8014846