0

Null Byte インジェクションからどのように保護しますか? 参照: https://security.stackexchange.com/q/378

リクエスト パラメータがファイル名として使用される場合、リクエスト パラメータの各バイトを調べて、その「バイト」値が 0 であることを検査する必要がありますか?

4

1 に答える 1

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

于 2015-03-21T20:55:45.813 に答える