RSS Feed Reader への
 スクリプトインジェクション

RSS Feed Reader へのスクリプトインジェクション
はせがわようすけ
hasegawa@openmya.hacker.jp

謝罪

裏番組のほうが面白いです

○| ̄|_

謝罪おわり

空前の脆弱性指摘ブーム

届出件数の推移

RSS とは

XML 形式で提供される、Webコンテンツの更新情報。
← このようなアイコン見たことあるよね。

例: セキュリティホール memo の RSS Feed
<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
>

<channel rdf:about="http://www.st.ryukoku.ac.jp/~kjm/security/memo/">
<title>セキュリティホール memo</title>
<link>http://www.st.ryukoku.ac.jp/~kjm/security/memo/</link>
<description>セキュリティホール memo</description>
<dc:language>ja</dc:language>
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://www.st.ryukoku.ac.jp/%7Ekjm/security/memo/2007/02.html#20070214_missing" />

RSS Feed Reader とは

RSS を読むためのソフトウェア。
Webアプリケーション型とローカルアプリケーション型に大別できる。
Webアプリケーション型
  • はてなRSS
  • livedoor Reader
  • Google Reader
  • Fresh Reader
など…
ローカルアプリケーション型
  • Sage
  • Internet Explorer 7.0
  • SharpReader
など…
はてな RSS の画面
Google Reader の画面
Sage の画面

RSS Feed へのスクリプトインジェクションとは

XMLとして提供される RSS Feed に、JavaScript や VBScript のコードを埋め込んでおく
RSS リーダの動作
RSS Feedhttpで受信XMLのパースHTMLに変換


    → HTMLを配信 … Web アプリケーション型
    → ブラウザで表示 … ローカルアプリケーション型
 
HTMLとして表示する段階でスクリプトが発動。

RSS Feed へのスクリプトインジェクション

RSS Feed にスクリプトを混入
<title>スクリプトを含む RSS Feed</title>
<link>javascript:alert(document.cookie);</link>
<description><![CDATA[
    <script>alert(document.location);</script>
]]></description>
このような HTML に展開されるかも。
<h2>
    <a href="javascript:alert(document.cookie);">
      スクリプトを含む RSS Feed
    </a>
</h2>
<div>
    <script>alert(document.location);</script>
</div>

Webアプリケーション型での脅威

クロスサイトスクリプティングが発生
実は脅威は低い?

Webアプリケーション型での脅威

ログインせずに利用可能な RSS Feed Reader だと、セッション漏洩は無視できる。
(はてな RSS など。)
逆にログインしている場合は、同一アカウントの他のサービスに影響が及ぶ可能性あり。
ブログ、Webメール、Wiki…
ログインせずに利用できる RSS Feed Reader だとあまり実害はない?

ローカルアプリケーション型での脅威

ブラウザを利用してローカルコンピュータ上の HTML を表示していることが多い



ちなみに Sleipnir の場合は、res://C:\Program%20Files\Fenrir%20Co\Sleipnir(以下略) という URI でした。

まとめ?

一般ユーザ(Feed閲覧者)向け:
開発者向け: