タグ

shellとPHPに関するkarahiyoのブックマーク (2)

  • PsySH

    Stop die()ing all the time PsySH can be used as an interactive debugger, much like JavaScript's debugger statement, saving you from endless var_dump() and die() iterations. Just drop this line in where you'd like to have a breakpoint: eval(\Psy\sh()); Auto[tab][tab]Complete PsySH has tab completion for variable names, functions, classes, methods, properties, and even files! Just start typing, then

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

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

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