タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

securityとPerlに関するlockcoleのブックマーク (1)

  • 4-2. Perl の危険な関数

    Perlには他のプログラムを起動したり,文字列で与えられた式を実行時に解釈実行する機能を持つ関数が用意されている。こうした関数に与える引数は,十分に吟味しないと,悪用されて意図しないコマンドを実行させられる。 Perlには外部プログラムとの連携機能が複数組み込まれている。Perlは連携機能を実現するため内部的にUnixシェルを起動する(注1)。そのため連携機能をユーザ入力データなどの外部から与えられるデータと組み合わせて使用する場合,外部からシェルコマンドを混入され実行されてしまう可能性がある。次の関数はこのような問題につながる注意すべき関数や構文である。 open system, exec, ``(backticks) <>(fileglob),glob C言語などのコンパイル系言語と異なりPerlはスクリプト系言語である。Perlは実行時にプログラムを解釈して実行する。eval

    lockcole
    lockcole 2006/02/27
    eval, open, system, exec, バッククォート, fileglob, globなどの危険性。バリデーションの徹底,シングルクォート利用,Taintモードの活用。fileglobは内部的にシェルを読み出す構文。知らなかった。便利だけど利用には注意しよう。
  • 1