logmonは気を付けて使わないとOSコマンドインジェクションの脆弱性を生むことが

logmon(http://www-06.ibm.com/jp/linux/tech/doc/00057580.html)はとっても便利だけど、良く考えずにコピペして使っていると、メールを飛ばす時にOSコマンドインジェクションできてしまうことが…

具体的には、”監視対象文字列”の部分にバッククォートで囲ったコマンドが入ってくるとダメで、原因はlogmon.confに書かれているコマンドを実行するところなので、メールを飛ばす時に限った話ではなく、http://antas.jp/blog/ina/archives/2011/07/swatch_logmon_escape.htmlに書かれているように

  • logmonのconfigにおけるechoコマンドのダブルクォート(“)を、シングルクォート(‘)に変更
  • 取得したログ行のうちシングルクォート(‘)があれば、全角クォート(’)に置換

という対応をすればとりあえずは大丈夫そうな感じだけど(もちろん全角じゃなくエスケープでも)、logmon.plのsystem()の使い方を変えた方が良いのかな…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です