ブックマーク / harapeko.asablo.jp (1)

  • 勘違いしてたかも<Taint mode: 国民宿舎はらぺこ 大浴場

    サニタイズ病はPerlのせいじゃないってば (おさかなラボ さま) なお、このtaintperlPerlの-Tオプションを指定した場合、この手のブラックリスト方式のメタキャラクタ漏れによる脆弱性は発生しない(記号を削るという方式では汚染は除去されていないとみなされる)。 $a = $ARGV[1]; $a =~ s/\W//g; # 汚染されている $a =~ s/^([a-z]+)$//; $a = $1; # 汚染されていない というわけで、Perlでは、CGIというものが普及する以前から、 そのため、記号を全部削るという対策が普及しました。 のような対策は「言語として」推奨されていない(それでもそういう対策をしちゃう人は別問題として)。 ホントかな? ホントかな? 試しに、以下のスクリプトを書いてみましたよ。 #!/usr/bin/perl -T use strict; my $f

    harupiyo
    harupiyo 2007/02/09
  • 1