[ホーム] >
[サイバー攻撃大辞典 トップ] > [OSコマンドインジェクション(OS Command injection)]
作成日:2020/09/16
OSコマンドインジェクション(OS Command injection)
OSコマンドインジェクションとはプログラムやWebサーバなどの不備を悪用し、サーバ側でOSのコマンドを実行する攻撃手法の名称。
当然だが Webブラウザやクライアント側でOS上でコマンドを実行することは一般的に不可能である。そのようなことが可能ならセキュリティ上大きな問題となる。
この攻撃では主にサーバ側でWebブラウザやクライアントの入力をパラメータとしてプログラムを実行する場合、そのパラメータに細工を入れてプログラムを実行させようとする。
攻撃例
(1)
以下のようにサーバ側でユーザの入力したメールアドレスに対してメールを送るコマンドを実行する仕組みがあるとする。
sendmail <ユーザの入力したメールアドレス>
<ユーザの入力したメールアドレス>に"user01@example.com < /etc/passwd "と入力すると結果的に
sendmail user01@example.com < /etc/passwd となりpasswdファイルがメール送信されてしまう可能性がある。
(2)Perl のopen 関数は、引数のファイルパスに | (パイプライン)を指定するとOS コマンドが実行可能。(ファイル出力をコマンドに渡す、あるいはコマンドの出力を受け取る処理)
対策
・シェル起動が可能な言語は使用しない。
・シェル起動が可能な言語を使用する場合は、引数をホワイトリスト方式でチェックし、想定外の引数はすべて拒否する。(ブラックリスト方式では漏れが発生する)
[ホーム] >
[サイバー攻撃大辞典 トップ] > [OSコマンドインジェクション(OS Command injection)]
本サイト内掲載されている情報は、誰もその正当性は保証しません。独自の調査により判明した事項を記載しており、内容に誤りがある可能性があります。
内容により発生したいかなる損害は誰も補償しません。自己責任で参考として閲覧してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。
このページはリンクフリーです。(このページへの直接リンクも可能です。)
Copyright(c) securitychecklist.net 2015 - 2020