タグ

ブックマーク / www.ipa.go.jp (1)

  • 9-2. 入力値チェックの手法

    入力値チェックを怠ると不正なコマンドを実行されてしまうなどのセキュリティ問題が生じる。さまざまな経路からデータはプログラムへ入ってくるが,経路によらずすべてのデータを検査対象とすべきである。排除すべきものを明示するより,受け入れられるものを明示する検査ポリシーが安全である。 入力されたデータがプログラム内部で使用するファイルパス,シェルコマンド,SQL文などと組み合わされたとき,不正なコマンドを形成してしまわないよう入力データから各種のメタキャラクタを検知・排除することが重要である。メタキャラクタとはシェルやスクリプト言語などで特別な意味を持つ文字で,たとえば次のようなものがある。もちろんこれはすべてではなくシェルやスクリプト言語に依存する。 &;`'\"|*?~<>^()[]{}$\n\r たとえば次のPerlの一文に入力データ$fileを与えてファイルをオープンしようとした場合を考えて

  • 1