新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > [4885] Re: 「最近の改竄事件でMicrosoft SQL Serverが狙われる理由」

記事個別表示 (4885)

[4885] Re: 「最近の改竄事件でMicrosoft SQL Serverが狙われる理由」

りゅう (2008年5月15日 23時36分)

SQLは手続き型言語ではないので、大抵のDBMSではストアドプロシージャを定義するための手続き型言語が別途用意されています。それがPL/SQLやPL/pgSQLなどです。それらはストアドプロシージャを定義するためのものなので、ストアドプロシージャの定義以外の部分では使用できません。問い合わせに使用しているのはあくまでもSQLであって、PL/SQLやPL/pgSQLなどの手続き型言語ではないのです。

Transact-SQLではその2つを区別していないというか、問い合わせもストアドプロシージャの定義も、同じTransact-SQLを使って行います。したがって、ストアドプロシージャとして定義する必要があるような手続き的な処理も、単なる問い合わせとして実行できます。

Transact-SQLのインジェクションはもはや任意のプログラムのインジェクションに近いものであり、普通のSQLインジェクションとは異なるものと思った方が良いのかもしれません。

ちなみに複文をMUST要件としているのはUPDATE文のインジェクションの要件としてということになると思いますが(テーブル構造の取得ではMUSTではないので)、複文を使えないシステムでは情報更新系のインジェクションはできないということになるのでしょうか。

コメントフォーム

※広告や宣伝の書き込みはご遠慮ください。

:

:

:

最近の日記

関わった本など