cNotes 検索 一覧 カテゴリ

2117966.net -SQLインジェクション-

Published: 2008/04/07

国内の複数の企業が改ざんされたこともあり、いろいろニュースになっています。jyake さんも書かれていますが、新たなサイトも使用されるようになっているようですね。引き続き注意が必要なようです。

さて攻撃内容で、一部特徴的な要求がありました。改ざんを行う際のSQLに下記が含まれています。

select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)

上記の意味するところは、SQLのカラムの型を調査し、該当するものについて抜き出すものです。ここでいう syscolumns.xtype は、カラムの型を示しています。

 35: text 

 99: ntext 

 167: varchar 

 231: sysname 

また、sysobjects.xtype が U になるものは、ユーザ作成のテーブルを対称にしているのでしょう。目的としては、Web サーバに使用される文字列を抜き出して、その中に追加していくってことでしょうか。

昨年以前の攻撃では ntext 型のみを狙ったものはありましたが、だんだん対象範囲を拡大しているようです。手法としてはこの後に UPDATE文を用いて改ざんを行う、というものでした。

管理サーバにて SQL を稼動させている場合、上記のカラムに影響がないか確認してみることをお勧めします。

By Mudrock