Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1106

ストアドプロシージャ悪用

ストアドプロシージャ悪用 とは何ですか?

ストアドプロシージャ悪用特権を持つ、または安全に書かれていないストアドプロシージャを悪用し、任意 SQL や OS コマンド実行、データベース層からの権限昇格を行う攻撃。


ストアドプロシージャは SQL を DB サーバ側にカプセル化し、しばしば高い権限で実行されます。悪用は、MS SQL Server の xp_cmdshell・OPENROWSET・sp_OACreate、Oracle の UTL_FILE・DBMS_SCHEDULER、PostgreSQL の COPY ... PROGRAM などの危険プリミティブを攻撃者が呼べる場合や、独自プロシージャが EXEC/sp_executesql で引数を結合してしまう場合に発生し、信頼されたコード内で SQL インジェクションが再発します。結果として DB サービスアカウントでのコマンド実行、リンクサーバ経由のラテラルムーブメント、ファイル書き込みによる情報持ち出し、アプリ層 ACL の回避が起こります。対策は危険プロシージャの無効化、最小権限、型付き引数付き sp_executesql、EXECUTE 権限の厳格化です。

  1. 01

    MS SQL Server への SQL インジェクション後、xp_cmdshell で whoami をサービスアカウントで実行する。

  2. 02

    PostgreSQL の COPY ... PROGRAM を独自プロシージャ経由で悪用してリバースシェルを起動する。

よくある質問

ストアドプロシージャ悪用 とは何ですか?

特権を持つ、または安全に書かれていないストアドプロシージャを悪用し、任意 SQL や OS コマンド実行、データベース層からの権限昇格を行う攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。

ストアドプロシージャ悪用 とはどういう意味ですか?

特権を持つ、または安全に書かれていないストアドプロシージャを悪用し、任意 SQL や OS コマンド実行、データベース層からの権限昇格を行う攻撃。

ストアドプロシージャ悪用 はどのように機能しますか?

ストアドプロシージャは SQL を DB サーバ側にカプセル化し、しばしば高い権限で実行されます。悪用は、MS SQL Server の xp_cmdshell・OPENROWSET・sp_OACreate、Oracle の UTL_FILE・DBMS_SCHEDULER、PostgreSQL の COPY ... PROGRAM などの危険プリミティブを攻撃者が呼べる場合や、独自プロシージャが EXEC/sp_executesql で引数を結合してしまう場合に発生し、信頼されたコード内で SQL インジェクションが再発します。結果として DB サービスアカウントでのコマンド実行、リンクサーバ経由のラテラルムーブメント、ファイル書き込みによる情報持ち出し、アプリ層 ACL の回避が起こります。対策は危険プロシージャの無効化、最小権限、型付き引数付き sp_executesql、EXECUTE 権限の厳格化です。

ストアドプロシージャ悪用 からどのように防御しますか?

ストアドプロシージャ悪用 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

ストアドプロシージャ悪用 の別名は何ですか?

一般的な別名: xp_cmdshell 悪用。

関連用語