OSコマンドインジェクション
2021-12-21 (火) 13:12:44
OSコマンドインジェクション とは †
名称 †
- OS Command Injection
概要 †
- WebページのフォームにOSコマンドを含めた不正な入力データを与えることで、サーバ上のファイルへの不正なアクセス等を実行させる攻撃。
- プログラミング言語ごとに用意されているOSコマンドを実行するための関数を使っている場合に、OSコマンドインジェクションの脆弱性があると悪用される。
対策 †
- OSコマンドを呼び出す関数を使わない。
- OSコマンドを呼び出す関数を使う場合
- 入力可能な文字を制限する
- 制限外の文字が入力された場合はエラーとする(エスケープ処理は行わない)
- WAFを使う。
OSコマンドを呼び出す関数 †
- Perl
- exec()
- open()
- PHP
- exec()
- passthru()
- proc_open()
- shell_exec()
- system()
- Python
- os.system()
- os.popen()
関連サイト †
- CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
https://cwe.mitre.org/data/definitions/78.html
- CWE-78 OSコマンドインジェクション
https://jvndb.jvn.jp/ja/cwe/CWE-78.html