【おーえすこまんどいんじぇくしょん】
OSコマンドインジェクション とは?
💡 入力欄から「サーバーの操縦席」に乗り込む攻撃
📌 このページのポイント
OSコマンドインジェクションって、SQLインジェクションの仲間?
考え方は似ているよ。SQLインジェクションがデータベースを狙うのに対して、OSコマンドインジェクションはサーバーのOSそのものを狙うんだ。被害の深刻度はさらに高いことが多いね
具体的にはどうやって攻撃するの?
たとえばファイル名を入力するフォームに「report.pdf; rm -rf /」と入れると、セミコロン以降が別のコマンドとして実行されてしまうんだよ
えっ、そんな簡単に!?
どうやって防ぐの?
一番いいのはOSコマンドを直接呼ばない設計にすることだね。どうしても必要な場合は、入力値をホワイトリストで厳しく検証して、シェルを介さずにコマンドを実行する方法を使うんだよ
実際に大きな被害が出た事例ってあるの?
まとめ:ざっくりこれだけ覚えればOK!
「OSコマンドインジェクション」って出てきたら「Webの入力欄からサーバーのコマンドを不正実行する攻撃」と思えればだいたいOK!
📖 おまけ:英語の意味
「OS Command Injection」 = OSコマンド注入
💬 injection は「注入」の意味。Webアプリの入力欄という「注射口」からOSコマンドを注ぎ込む攻撃だよ