投稿順表示 (52/283)
前のページ 1...47/48/49/50/51/52/53/54/55/56/57...283 次のページ
[4898] Re: 「かな入力の弱点」
ZO (2008年6月3日 21時32分)
WinXPのMSIME2002(8.1)では、「わ」を出してから漢字変換の要領でスペース(変換)を押していったら 18/19 に「ゎ」がありました。
[4897] Re: 「最近の改竄事件でMicrosoft SQL Serverが狙われる理由」
徳丸浩(ockeghem) (2008年5月22日 12時8分)
りゅうさん、詳しいコメントをありがとうございます。間があいて申し訳ありません。SQL Serverが狙われやすい理由として、補強材料ができたように思います。
最後のパラグラフについてですが、
>ちなみに複文をMUST要件としているのはUPDATE文のインジェクションの要件としてということになると思いますが(テーブル構造の取得ではMUSTではないので)、複文を使えないシステムでは情報更新系のインジェクションはできないということになるのでしょうか。
私が調べた範囲ではできないか、少なくとも非常に制約があると思います。
また、ご指摘のように、情報漏えい系に関しては、複文はMUSTではありません。
[4896] Re: 「くりきんは危険かも」
ファム (2008年5月19日 9時19分)
しょうへいさんへ
ID70のヘキサリアンズは、ヘキサリア×ヘキサリアでうまれますよ。
他にどんなゲームを持ってますか?
[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ではないので)、複文を使えないシステムでは情報更新系のインジェクションはできないということになるのでしょうか。
[4883] Re: 「最近の改竄事件でMicrosoft SQL Serverが狙われる理由」
徳丸浩(ockeghem) (2008年5月13日 14時9分)
コメントありがとうございます。要するに、複文はMUST要件だが、T-SQLは、より攻撃を容易にするWANT要件だということです。
また、OracleにはPL/SQLがあり、PostgreSQLにはPL/pgSQLがあります。SQL ServerのT-SQLのみが「ストアドプロシージャを記述できるほど高機能」だとは思えません。もっとも、PL/SQLやPL/pgSQLが今回の攻撃の記述ができる・できないまでは検証しておりませんので、これらを検証した上で「SQLインジェクション攻撃には使えない」ということであれば、ぜひご教授ください。Oracleは複文が使えませんので難しいと思いますが、PostgreSQLはできそうに思えます。
[4882] Re: 「最近の改竄事件でMicrosoft SQL Serverが狙われる理由」
りゅう (2008年5月12日 22時35分)
逆に複文が使えれば件の手法の攻撃ができるという訳でもないでしょう。件の手法を使うためには、攻撃対象がクエリー内で組み立てた文字列を新たなクエリーとして実行できる機能を持っている必要があります。調べた限りでは、そのような機能を持っているのはTransact-SQLのexecute文(関数ではなく文でした)のみのようです。
もちろんexecute文に類似する機能を持たないDBMSに対しても全テーブルの全カラムの値を更新する攻撃は可能ですが、SQLインジェクションやUNION攻撃などを行うには技術と手間を必要とします。とにかくクエリーを投げて待つだけで良いのとは雲泥の差があり、そこが狙われる理由となるのではないでしょうか。
[4881] Re: 「最近の改竄事件でMicrosoft SQL Serverが狙われる理由」
徳丸浩(ockeghem) (2008年5月9日 22時49分)
Transact-SQLを使うことで攻撃が簡単になるということは確かにありますが、そのTransact-SQLを使うためにも、複文が必要になるということです。既存のSQLはSELECTとかUPDATEなどの固定のキーワードで始まっており、複文が利用できない状況で後ろの方をいじったとしても、都合よく任意のTransact-SQLの構文にはできないと思います。
一方、Transact-SQLが使えないとしても、複数のSQLインジェクション攻撃を組み合わせることにより、テーブル構造の把握→更新は可能です。テーブル構造の把握には、UNIONインジェクションやブラインドSQLインジェクションが利用可能ですので、「任意の問い合わせ結果が取り出せる都合の良い脆弱性はなかなか存在しない」ということにはなりません。