水無月ばけらのえび日記

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インジェクション / 与太話

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 Webプログラミング

その他サイト