水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 「成立しない」の意味

「成立しない」の意味

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脆弱性がないサイトであれば、それは「&lt;script&gt;……」と出力されるはずです。その場合スクリプトは動作しませんから、XSSがなければ、攻撃者の用意したスクリプトは実行されない、と言えます。

ただ、SQLインジェクションが成立した時点でDBのデータは壊されてしまいますので、明らかに被害は発生します。これを「攻撃が成立しない」と言ってしまって良いのか、やや微妙に思います。徳丸さんは「攻撃者の意図は完遂されない」という意味で「成立しない」と言われているのだと思いますので、それはそれで正しいと思いますが。

※ただ、可能性としては、「入力時に一律HTMLエンコードを行い、DBにはエンコード後の文字列を格納する」というポリシーで設計されている可能性もあって、その場合には、この攻撃は成立するけれどもXSS脆弱性があるとは言えない、ということもあり得ると思います。いや、もちろんそんな変な設計は推奨しませんけれども。

関連する話題: セキュリティ / クロスサイトスクリプティング脆弱性 / SQLインジェクション / 与太話

最近の日記

関わった本など