「成立しない」の意味
2009年3月18日(水曜日)
「成立しない」の意味
公開: 2009年3月19日0時10分頃
XSS脆弱性の危険性に関連して、ockeghemのブックマーク - 2009年3月17日 (b.hatena.ne.jp)のブックマークコメントの意味が一瞬分からなかったので、反応してみたり。
最近頻発しているとLAC社が伝えるサイト改ざんによるマルウェア埋め込みはSQLインジェクションが直接原因だが、XSSもないと成立しない。参考 http://d.hatena.ne.jp/ockeghem/20080718/p1 http://itpro.nikkeibp.co.jp/article/COLUMN/20080624/309303/ 2009/03/17
最初「成立しない」という意味が分からなかったのですが、これはSQLインジェクションで「<script>……」とか「<iframe>……」とかいう文字列をひたすらDBにつっこんで、それがサイト上にそのまま表示されることを期待する攻撃ですね。この攻撃でDBに「<script>……」と入れられても、XSS脆弱性がないサイトであれば、それは「<script>……」と出力されるはずです。その場合スクリプトは動作しませんから、XSSがなければ、攻撃者の用意したスクリプトは実行されない、と言えます。
ただ、SQLインジェクションが成立した時点でDBのデータは壊されてしまいますので、明らかに被害は発生します。これを「攻撃が成立しない」と言ってしまって良いのか、やや微妙に思います。徳丸さんは「攻撃者の意図は完遂されない」という意味で「成立しない」と言われているのだと思いますので、それはそれで正しいと思いますが。
※ただ、可能性としては、「入力時に一律HTMLエンコードを行い、DBにはエンコード後の文字列を格納する」というポリシーで設計されている可能性もあって、その場合には、この攻撃は成立するけれどもXSS脆弱性があるとは言えない、ということもあり得ると思います。いや、もちろんそんな変な設計は推奨しませんけれども。
- 「「成立しない」の意味」にコメントを書く
関連する話題: セキュリティ / クロスサイトスクリプティング脆弱性 / SQLインジェクション / 与太話
- 前(古い): XSS脆弱性の危険性
- 次(新しい): 秋期限定栗きんとん事件 上