OSコマンドインジェクション の変更点


#author("2021-11-15T03:34:44+00:00","default:k1rou","k1rou")
#author("2021-12-21T13:12:44+09:00","default:k1rou","k1rou")
*OSコマンドインジェクション とは [#v4de6b21]
**名称 [#raf17ed2]
-OS Command Injection

**概要 [#q7a145f2]
-WebページのフォームにOSコマンドを含めた不正な入力データを与えることで、サーバ上のファイルへの不正なアクセス等を実行させる攻撃。
-プログラミング言語ごとに用意されているOSコマンドを実行するための関数を使っている場合に、OSコマンドインジェクションの脆弱性があると悪用される。

*対策 [#j479db92]
-OSコマンドを呼び出す関数を使わない。
-OSコマンドを呼び出す関数を使う場合
--入力可能な文字を制限する
--制限外の文字が入力された場合はエラーとする(エスケープ処理は行わない)

-[[WAF]]を使う。

*OSコマンドを呼び出す関数 [#r6ea0859]
-Perl
--exec()
--open()

-PHP
--exec()
--passthru()
--proc_open()
--shell_exec()
--system()

-Python
--os.system()
--os.popen()

*関連サイト [#m37ede4d]
-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

*関連用語 [#r344872b]
-[[インジェクション]]
-[[ディレクトリトラバーサル]]