インジェクション攻撃
コードインジェクションは健全な目的にも用いられる。例えば、コードインジェクションによりプログラムやシステムの動作を変更したり微調整したりすることで、悪意のない特定の動作をするようにシステムを「だます」ことができる。 具体例として
検索結果ページにおいて本来の設計には出てこない有用な新規カラムを導入する。
本来の設計の標準機能において公開されていないデータフィールドを用いて、データのフィルタリング・並べ替え・分類の新しい方法を提供する。
Dropboxなどのプログラムのように、オフラインプログラムにおいてネットワーク上のリソースにアクセスできる特別な機能を追加する。
Linuxの動的リンカを用いて、特定のlibc関数と同名の関数を定義し、ライブラリとして関数をリンクし、既存のlibc関数を上書きする。
といったことが挙げられる。
プログラムへの入力がシステム開発者の想定外であるために、ユーザが疑いなくコードインジェクションを行ってしまうことがある。 次のような具体例が挙げられる。
ユーザが有効だとみなした入力に、特別な意味を持つトークン文字や予約語が含まれるかもしれない (「Shannon & Jason」の「&」や「Bub 'Slugger' McCracken」の引用符があるいはこれに該当するかもしれない)
あるアプリケーションではうまく処理されるが、送信先のシステムには有害であるような、誤った形式の入力ファイルを送信するかもしれない。
別の有益な利用法としては、脆弱性を修正する目的でのコードインジェクション脆弱性の発見が挙げられるだろう。 このような手法はホワイトハットペネトレーションテストとして知られる。