シェルコードには、「ローカル型」と「リモート型」があり、攻撃者がシェルコードの動作するマシンの制御を獲得するのか(ローカル型)、それともネットワーク上の別のマシンの制御を獲得するのか(リモート型)で決まってくる。ローカル型.ローカル型シェルコードは、攻撃者がそのマシンに限定的なアクセス権があるとき、より特権レベルの高いプロセスの脆弱性を利用するものである。成功すると、シェルコードによって攻撃者は攻撃対象プロセスと同等レベルの特権を得る。ローカル型シェルコードは比較的作成しやすい。この形式のシェルコードが行うのは、シェルの実行ファイルを実行することだけである。リモート型.リモート型シェルコードは、LANやインターネット上の別のマシンで動作する脆弱性のあるプロセスを対象として攻撃するものである。成功すると、攻撃者はネットワーク経由で対象マシンにアクセスできるようになる。リモート型シェルコードは通常、標準のTCP/IPソケットコネクションを使い、攻撃者が対象マシン上のシェルにアクセスできるようにする。このコネクションの構築方法としては、以下のものがある。ダウンロード実行型.リモート型シェルコードは、攻撃者が対象システムの中をいろいろ見るのに便利だが、攻撃者は単にその対象システムに何らかのマルウェアをインストールしたいだけということが多い。その場合ダウンロード実行型シェルコードがよく使われる。この種のシェルコードはシェルを起動せず、そのマシンにネットワーク経由で特定の実行ファイルをダウンロードさせ、それをディスクに格納させ、実行させる。これを現在ではドライブバイダウンロード攻撃と呼ぶ。これは犠牲者が悪意あるWebページを訪れたとき、ある種のシェルコードをダウンロードして実行させ、犠牲者のマシンにマルウェアをインストールさせようとするものである。実行戦略.