2010-11-21 9 views

答えて

10

信頼できない入力を使用する可能性のある危険な操作を防止するデータフロー分析である「汚染モード」を有効にします。例えば

、悪意のあるユーザーが../../../etc/passwdのユーザー名を与え、あなたのサービスがrootとして実行された場合にどのような、これは便利である方法を説明するために

open my $fh, ">", "/var/myservice/$username" 
    or die "..."; 
print $fh ...; 

で新しいユーザーの詳細情報を格納するために合理的に思えるかもしれませんか?

$usernameの値がCGIフォームパラメータまたはコマンドラインから入力された場合、テイントモードでは上記のコードを実行できません。

perlsec」のドキュメントには、信頼できない入力が安全であることを確認するための「取り込み」方法が示されています。

0

汚染モードがオンの場合、正規表現を適用して安全でない文字を削除するなど、関数を使用してデータを取得する必要があります。

関連する問題