teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

追記及び修正

2019/09/30 00:55

投稿

aae_11
aae_11

スコア178

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  体系的に学ぶwebアプリケーションの作り方第2版の「4-2」入力処理とセキュリティの部分を読んでいたのですが、分からない部分があり質問させて頂きました。
2
2
 
3
3
  ヌルバイト攻撃に対する対策についてなのですが、下記のように記述されていました。
4
- 「ヌルバイト攻撃に対する根本的な対策は、バイナリセーフの関数のみを用いてアプリケーションを開発することですが、現実にはそれは困難です。なぜなら、ファイル名のように仕様上ヌルバイトを許容しないパラメータがあるからです。」ここの部分なのですが、具体的にどのようなケースのことなのかが、分かりません。「仕様上ヌルバイトを許容しないパラメータ」があった方が、処理する側ではヌルバイトを気にする必要がない為、バイナリセーフでない関数を使用しても問題がないように思えます。
4
+ 「ヌルバイト攻撃に対する根本的な対策は、バイナリセーフの関数のみを用いてアプリケーションを開発することですが、現実にはそれは困難です。なぜなら、ファイル名のように仕様上ヌルバイトを許容しないパラメータがあるからです。この為、アプリケーションの入り口でバイナリセーフの関数を用いて入力値のヌルバイトをチェックし、ヌルバイトがあればエラーにする」ここの部分なのですが、具体的にどのようなケースのことなのかが、分かりません。「仕様上ヌルバイトを許容しないパラメータ」があった方が、処理する側ではヌルバイトを気にする必要がない為、バイナリセーフでない関数を使用しても問題がないように思えます。
5
5
  ここの部分について、少し混乱してしまっているため、どなたか詳しい方がいましたら、教えて頂けましたら幸いです。