[ホーム] > [サイバー攻撃大辞典 トップ] > [OSコマンドインジェクション(OS Command injection)]


作成日:2020/09/16

OSコマンドインジェクション(OS Command injection)

OSコマンドインジェクションによる攻撃例


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