タグ

phpとosに関するkarahiyoのブックマーク (1)

  • OSコマンドのエスケープ – シェルの仕様とコマンドの実装

    (Last Updated On: 2018年8月16日)OSコマンドのエスケープの続きです。OSコマンドインジェクションを防ぐための、OSコマンドのエスケープはSQLのエスケープに比べるとかなり難しいです。 難しくなる理由は多くの不定となる条件に依存する事にあります。 OSコマンドを実行するシェルはシステムによって異なる シェルはプログラミング言語+複雑なエスケープ仕様を持っている(コマンド以後はクオートなしでも文字リテラルのパラメーター+各種展開処理) WebアプリはCGIインターフェースで動作するため環境変数にインジェクションできる コマンドパラメーターの取り扱いはコマンド次第である 実行されるコマンドの実装により、間接インジェクションが可能になる SQLの場合、出力先のシステムは一定です。PostgreSQL用にエスケープした文字列をMySQLで実行したり、MySQL用にエスケープ

    OSコマンドのエスケープ – シェルの仕様とコマンドの実装
  • 1