Yahoo!がTumblrを買収、両社が正式契約へ

effective-tumblr:

Yahoo!がTumblrの買収について、正式契約に至った(they have reached a definitive agreement for Yahoo! to acquire Tumblr)とのプレスリリースを出しました。

またこの件について、Yahoo!の公式ブログには「Exclamation: Tumblr. + Yahoo! = !!」、Tumblrの公式ブログには「Tumblr Staff - News!」(和訳)が投稿されています。Tumblr公式ブログの投稿の一節を、Engadgetの「米Yahooが Tumblr買収を正式発表、『ダメにしないことを約束』。カープCEO続投で独立運営」から引きます。

まず心配を払拭させてほしい:われわれはムラサキにはならない。各ヘッドクオーターは移転しない。チームも変わらない。開発ロードマップは変わらない。そして、『クリエーターの力になり、最高の作品を作りふさわしい相手に届けられるよう手助けする』という使命は決して変わらない

メリッサ・メイヤーも、投稿を買収の合意の報に続けて「We promise not to screw it up.」、ダメにしないことを約束するという一文から始めています。またEngadgetの「米Yahooが Flickr を全面リニューアル、無料で1TBまでアップロード可能に」という記事で、メディアイベントでのQ&Aの内容を窺うことができます。

  • YahooとTumblrは相補的な関係。Yahooはコンテンツが欲しかった、Tumblrは大企業のリソースやツールが必要だった。当初は買収ではなく、提携のつもりで話を進めていた。
  • Tumblrのユーザー層は若く、Yahooのユーザー層はもっと年齢が高め。Tumblrがリーチしている層はこれまでYahooブランドが弱かった部分。
  • ほかの成功した買収から学んで、Tumblr は独立運営させることにした。勢いのある企業にはそれが重要。
  • (Yahoo!はTumblrに対して)投資と、人材を雇えることに加えて、コンテンツ発見ツールを提供できる。YahooにはAI、パーソナライゼーション、検索の経験がある。

ちょっと茶化して言えば「5月20日、Tumblr買収を発表。あなたはTumblr買収が“Flickr”のようにはならないワケを知るでしょう」というところでしょうか。それでも、「相補的」という以上はYahoo!との統合はあるのだろうし、マネタイズ面からの変化もあるのではないかという気がしてしまいます。

最後に、関連記事からいくつかリンクしておきます。

“HTML や XML のようなマークアップを発展させ拡張可能な UI を作る技術は、
WPF から Flex まで星の数ほどある。中でも Web Components は XBL という技術を先祖にもっている。
10 年以上前、Mozilla が XUL のお供に作った XML ミタメ定義言語(のようなもの)が XBL だ。
ただ XBL は多機能すぎ、また XML に傾倒しすぎていた。
そこで XBL を簡素化し、10 年来のウェブの変化や JavaScript の隆盛を踏まえ
今風に再発明したものが Web Components である。
API は新しく仕切りなおされたため、先祖の面影を伺うことはほとんどできない。
でも Web Components 関連標準の謝辞は XBL を参照しているし、Shadow DOM のコンセプトも XBL に由来する。”

始まったばかりとはいえ Polymer プロジェクトの影響は大きい。 その影響で Web Components は仕様も実装も大きく磨きがかかった。

たとえばあるとき Polymer の polyfill をネイティブ実装に切り替えて デモアプリを動かしたところ表示が乱れ、更にはブラウザがクラッシュした。 ページロードが異常に遅いなんて問題もみつかった。 実際のアプリケーションを通じて初めてみつかるエッジケースの数々を Polymer は暴きだし、 私や近隣の同僚は慌ててそれを直した。Polymer の実装が進むたびにそんなバグがやってくる。私達はそれを直す。

また標準で定義された API の不備不足も沢山みつかり、W3C のメーリングリストやバグトラッカーを賑わしている。 頑張って定義した複雑な挙動があっさりダメだしされたり、逆に必要だと思っていた API が実は全然いらなかったり。 実際のユースケースを元にした苦情だけに説得力がある。

ブラウザのダメさを回避するのではなくブラウザを直す。仕様も直す。 ここに従来のフレームワークと Polymer の違いを見ることができる。

Tumblr創業者David Karpが天才すぎてビビった話

toshiyuki-blog:

image

■ ついさっき再会した。


僕も使っているこのブログサービス「Tumblr」の創業者であるDavid Karp氏と、ついさっき再会して挨拶をしたのだが、それで色々と思い出した。

去年、某店で彼に会った時、Tumblrの存在を知ってはいたけど、申し訳ないことに、それがどれほど偉大なサービスなのかは勉強不足で存じ上げておらず「背は高いしイケメンだなぁ」程度にしか思っていませんでした。

僕「こんにちは。今日はどうされたんですか?」

D「ああ、どうも。君は?」

僕「TOSHIYUKIです。アメリカとアジアで貿易会社と教育系のデジタルコンテンツを作る会社を経営してます」

D「本当に?僕より若いのにすごいね。僕はDavid。Tumblrというブログサービスを作ってるんだ。よろしくね。」

僕「そうなんですか。今度、僕にも是非とも招待を送って下さい。使ってみますから」

D「ありがとう。送っておくよ。ああ、そうだ。名刺もらってもいい?」

僕「どうぞ。」

D「サンキュー。申し訳ないけど、僕の名刺はないんだ。今日そういうつもりで来てないからさ。後で送っておくね。」

僕「ありがとう。それで今日は何を?」

D「東京に住んでいた時の友人と一緒に遊びにきたんだ。はぐれちゃったけど。」

僕「そうでしたか。東京に住まわれていたんですね?」

D「うん。少しだけどね。あ、居た! 連れを見付けたから、僕はこの辺で。バイバイ!」

僕「ありがとうございました」

覚えている限りだと、彼とはそんな話をしました。軽くあしらわれた程度にしか思わなかったのですが、その後、本当にメールのやり取りがありました。

初めてフルネームを知って色々調べたら、今一番ホットな人の1人だったという。

そして彼が再び来日して講演したSocialMediaWeekでの講演を聞き、ようやく理解した。

ああ、これは革命的だなと。



■ 講演内容


Tumblrを2007年に創設。
現在6000万以上のブログが開設、170億のポストが投稿されている。

様々なクリエイティブ表現がより多くの人とシェアされ、急拡大するTumblr上でのコミュニティについて、彼は熱く語りました。


■ そもそもTumblrとは??


マイクロブログサービスで、画像やテキスト、動画、音声、web上の記事引用、リンクなどを投稿でき「オンラインのスクラップブック」としての要素が強く、Twitterのように他ユーザーの投稿を共有する仕組みを持っている。Tumblr(wikipedia)


■ デイビット・カープが語るTumblrの2つの特徴


・Limitless Expression(制限なしの表現力)


Tumblr創業の2007年当時、Webへのパブリッシングツールとして存在感を持っていた、Flickr、YouTube、Twitterという3つのサービスは、いずれも簡単に投稿ができたが、デザインについては自由度が少なかった

一方で、wordpressに代表されるブログCMSは、利用者の裁量は大きいものの、使い方が複雑だった。

そこでTumblrは、7つボタン(テキスト、画像、引用、リンク、チャット、音声、動画)を並べて、簡単に投稿できる仕組みを考えた。

いろいろな種類のものが簡単に投稿でき、そしてデザインを自由に選べ、自由に自己表現ができる、スクラップブックのようなブログサービス。それがTumblrだ。


・Huge Opporunities (巨大な機会)


Tumblrのコミュニティはクリエイター、キュレーター、オーディエンスの3層構造になっている。クリエーターが作品をアップロードすることで自己表現をし、キュレーターはそのクリエーターの作品を集めることで自己表現をする、そうしたキュレーションの集まりをオーディエンスが閲覧する。

そうした行為を繋ぐのためにReblogという機能が上手く動作している。

■ Tumblrが目指すのはクリエイターのためのツール

デイビット曰く「我々はクリエイターにとっていいツールを作っていく。何にフォーカスするかということ。つまりクリエイティビティだ。表現をするプラットフォームは現在、YouTube、Instagram、Tumblrしかない」

コミュニケーションツールとして、FacebookやTwitterなどがあるが、そんな中で「Tumblrはクリエイションツールになることを目指している」と明確に宣言していた。


image

■デイビット・カープが語るTumblrの状況


・ユーザー年齢層
  13-17歳 - 17%
  18-34歳 - 37%
  35-49歳 - 30%
  50歳以上- 15%
メインユーザは世に出ることを目指している14-20歳の若者と写真の楽しさに目覚めたシニア層

・男性52%,女性48%で男女比に主な差はない
・グローバルでのアクセスは、50%がアメリカで最近はブラジル、イギリスが伸びている。
・日本でTumblrへのアクセスは33%がモバイル、グローバルでは20%がモバイル
・ビジネスモデルはTumblrのデザインテンプレートの販売、投稿自体を目立たせるプロモート投稿の提供
・グローバルでは月間160億PVのアクセス、日本では9400万PVのアクセス
・アクセスの70%がTumblrユーザーで30%がビジター
・アクセス元としてはGoogleよりもFacebookからの方が多い
・オバマ米大統領も選挙戦で活用した。選挙戦を制したのはTumblrのおかげか?



■ 本物の天才


David Karp氏はニューヨーク生まれの25歳。14歳でアニメプロデューサーのFred Seibert氏の元でインターンを始め、その後、年齢を隠して、都市部に住む母親が情報交換するためのサイト「アーバン・ベイビー・ドットコム」でソフトウェアコンサルタントを務めたという“神童”

14歳と言えば、僕が東南アジアで事業を始めた歳だが、そんな僕などお話しにならないほど実績になるキャリアを積んでいることは、経歴からも分かる。

(僕はこの頃は生活が苦しくてGoogle様のところでバイトしてたっけ・・・、Google様は神である)

彼と話してみて、または話しているのを聞いて思ったことは、彼はとても「人間らしい」ということ。感性がものすごく強いということか。でも頭は天才的に良いから、どこまでも切れているから、これからサービスは拡大し、クリエイションツールの1つとして名を馳せていくのだろう。

何よりもセンスが良い。

僕が彼から招待を送られてTumblrを使い始めたのもデザインにセンスの良さを感じたからだ。言葉で説明するのは難しいが、このサービスは本当に良いと思った。

「ブログが日記だとしたら、Tumblrはスクラップブック」「”The easiest way to blog”(一番簡単なブログする方法)」などのキャッチフレーズからは、分かりやすく手軽なフォーマットで自己表現の幅を拡大したデビッドの考えが滲み出ている。


それにしても、彼はアニメのプロデューサーのFred Seibert氏のところでインターン、それが高校中退して、学校に行かず家でホームスクーリング(homeschooling)で勉強して、17歳で日本に来て、戻ってTumblrを作り、それで今、注目の若手アントレプレナー。

とても興味深い経歴ですよね。

もう「自分で必要なことがきちんと学べる人」は、前時代的な手段に則って学校に行って、みんなと同じことを同じように体系的に学ぶ必要なんてないのでしょうね。

彼は間違いなく「天才」に属する人間だと思います。

人間の根源的な欲求を知っていて、なおかつ必要なものを適切に提供できる能力に長けている。

「ブログは普通の人には難しすぎる」というところからスタートしているところも面白い。確かにその通りだ。

ユーザーに対して1つ、2つとステップを入れてあげることで、既存のブログサービスが持つ問題を解消することに成功。

そうして見事、最高の自己表現の場「Tumblr」を創り上げた。

とにかく、そのセンスには脱帽です。彼の今後からは目が離せません。

image

 Tumblrはこれまでほとんど広告表示をせず、収益化はまだ端緒についたばかりだ。最近になってTumblr Radarにて一部広告表示を開始している。これは創業者David Karp氏の考え方から来るもので、それがTumblrコミュニティーに取っては代えがたい価値となっている。

 Tumblrに初期投資をしたSequoia Capitalはこの買収に伴ってコメントを発表したが、その中でTumblrの広告に対する考え方について、「Tumblrは伝統的なウェブ広告に抵抗した。常にビジョナリーだったDavidは、広告もまたエクスペリエンス全体と同じくらい魅力的に見える方法があるはずだと感じていた。最終的に、Davidが言うところによれば、「賞を獲得するような広告を作成するための場所とキャンバス」を代理店に与えるという独特のアプローチを思いついたのだ」と説明している。

 Yahoo!の紫のイメージやバナー広告を見るときに、Tumblrユーザーの不安は大きい。それだけに発表で「シームレスなユーザーエクスペリエンスを向上させる広告機会を創造する」と述べたこの取り組みが、買収の成否を左右すると言えそうだ。

Tumblr. + Yahoo! = !!

yahoo:

image

I’m delighted to announce that we’ve reached an agreement to acquire Tumblr! 

We promise not to screw it up.  Tumblr is incredibly special and has a great thing going.  We will operate Tumblr independently.  David Karp will remain CEO.  The product roadmap, their team, their wit and irreverence will all remain the same as will their mission to empower creators to make their best work and get it in front of the audience they deserve.  Yahoo! will help Tumblr get even better, faster.

Tumblr has built an amazing place to follow the world’s creators. From art to architecture, fashion to food, Tumblr hosts 105 million different blogs.  With more than 300 million monthly unique visitors and 120,000 signups every day, Tumblr is one of the fastest-growing media networks in the world.  Tumblr sees 900 posts per second (!) and 24 billion minutes spent onsite each month.  On mobile, more than half of Tumblr’s users are using the mobile app, and those users do an average of 7 sessions per day.  Tumblr’s tremendous popularity and engagement among creators, curators and audiences of all ages brings a significant new community of users to the Yahoo! network.  The combination of Tumblr+Yahoo! could grow Yahoo!’s audience by 50% to more than a billion monthly visitors, and could grow traffic by approximately 20%.

In terms of working together, Tumblr can deploy Yahoo!’s personalization technology and search infrastructure to help its users discover creators, bloggers, and content they’ll love.  In turn, Tumblr brings 50 billion blog posts (and 75 million more arriving each day) to Yahoo!’s media network and search experiences.  The two companies will also work together to create advertising opportunities that are seamless and enhance user experience.

As I’ve said before, companies are all about people.  Getting to know the Tumblr team has been really amazing.  I’ve long held the view that in all things art and design, you can feel the spirit and demeanor of those who create them.  That’s why it was no surprise to me that David Karp is one of the nicest, most empathetic people I’ve ever met.  He’s also one of the most perceptive, capable entrepreneurs I’ve worked with.  His respect for Tumblr’s community of creators is awesome, and I’m absolutely delighted to have him and his entire team join Yahoo!.   

Both Tumblr and Yahoo! share a vision to make the Internet the ultimate creative canvas by focusing on users, design — and building experiences that delight and inspire the world every day.

— Marissa Mayer, CEO of Yahoo!

* The transaction is subject to customary closing conditions, and is expected to close in the second half of the year. More information about the news can be found in the press release we issued today.

ビッグニュース!

nihongo:

Tumblr が Yahooと提携することになったという、このビッグニュースをこの場で伝えることができるのをうれしく思います。

これがどんなに素晴らしいことかを表現する前に、これだけはみなさんにお伝えしておきます。Tumblrサイトの色は紫にはなりません! 本社も移動しませんし、チームの編成も変わりません。もちろんロードマップも変更されません。何より「クリエイターに最高の作品を表現できるふさわしい場を提供する」というTumblrのミッションはこれからも変わることはないでしょう。

それでは何が変わるのでしょうか? Tumblr の中身やスピードがさらにパワーアップするのは間違いありません。今とりかかっている作業には何も変化は起きないし、歩いていく道のりも長いのです! ただ、自由に使えるリソースが増えるというだけのこと。

Yahoo はインターネット企業の草分け的存在。そしてマリッサ(訳注:Yahoo CEO)と彼女が率いるチームはインターネットを「究極の創造キャンバス」にするという私たちの夢に共感してくれています。彼女の力が借りられるということに、これまでにない興奮を覚えます。また、愛するコミュニティや製品には妥協しないというTumblrのビジネスに対するビジョンもまた同じものであることを確認しています。それにYahooもTumblrも、ロゴの最後を「ドット」や「ビックリマーク」で結んでいるとう共通点もありますしね!

Tumblrは常に、すべてはこの驚くべきこのコミュニティの支持によって支えられていることを念頭に置いています。みんなをがっかりさせるようなことはありません。

Fuck yeah!
デビッド

元記事:

News!

staff:

Everyone, I’m elated to tell you that Tumblr will be joining Yahoo.

Before touching on how awesome this is, let me try to allay any concerns: We’re not turning purple. Our headquarters isn’t moving. Our team isn’t changing. Our roadmap isn’t changing. And our mission – to empower creators to make their best work and get it in front of the audience they deserve – certainly isn’t changing.

So what’s new? Simply, Tumblr gets better faster. The work ahead of us remains the same – and we still have a long way to go! – but with more resources to draw from.

Yahoo is the original Internet company, and Marissa and her team share our dream to make the Internet the ultimate creative canvas. I couldn’t be more excited to have her help. We also share a vision for Tumblr’s business that doesn’t compromise the community and product we love. Plus both our logos end with punctuation!

As always, everything that Tumblr is, we owe to this unbelievable community. We won’t let you down.

Fuck yeah,
David

Yahoo!がTumblrを買収との噂、FacebookやMicrosoftとの話も

effective-tumblr:

WirelessWire Newsが「米ヤフー、Tumblr買収を20日にも発表か - 買収額は最大11億ドルに」という記事を掲載し、The VergeAllThingsDなどの記事から、Yahoo!が「20日にニューヨークで製品関連の発表会を開く」としてプレスに招待状を送っているが、ここでTumblrの買収が発表されるのかもしれないとまとめています。

マリッサ・マイヤー氏が昨年CEOに就任して以来、「ヤフーが成長分野への進出をねらって大型の企業買収を行うのではないか」とする観測が流れ続けてきている。同社には昨年秋に売却したアリババ(Alibaba)株式の代金の一部として10億ドルを超える資金が手元に残っていることなどもそうした観測の裏付けとなっている。[…]ソーシャルメディア関連の分野では、2012年春にフェイスブックによるインスタグラム買収(当初の買収予定額は約10億ドル)が発表されていたが、ヤフーのタンブラー買収が実現すれば、それ以来の大型買収となる。

またCNETは「Tumblr買収合戦、Facebookとマイクロソフトも参戦か」として、Forbesの続報を紹介しています。

TumblrはFacebookとMicrosoftからも同じように真剣なオファーを受けていると、Forbesが17日に報じた。ただし、Forbesによれば、Yahooは交渉に優先権を持っており、TumblrはYahooとの交渉が不発に終わらない限り、Yahooの競合企業からのオファーについて交渉を進めることはできないという。

昨年、広告収益があがりはじめて、今年4月にはモバイルアプリケーションで広告配信を開始(CNET)したTumblrで、長く目指してきた独自路線での独自収益化をいよいよ確立するところなのかと思っていたところへの買収の噂でした。どう展開するのでしょうか。

PC時代のおわり、プログラマ時代のはじまり

youkoseki:

概要:スマートフォンやタブレットの人気によりPCの果たす役割は小さくなりつつあるが、これにはプログラミング環境を失うという側面もある。一方でプログラマに対するニーズは今後も高く、このギャップを埋めることにビジネスチャンスがある。

image

hpがPC事業を切り離すという発表は驚きをもって迎えいれられた。なんといってもhpは世界シェアナンバーワンのPCメーカーで、20%弱ものシェアを誇っている。しかし量販店に行けば誰でも、最新のPCが昔では考えられないような安い値段で叩き売られているのを目にすることができる。PCはもはや儲かるビジネスではない。アップルはスマートフォンとコンテンツストアのビジネスへ変質した。デルは次々とITサービス企業を買収している。NECのパソコン部門はレノボとの協業でなんとか道を見出そうとしている。AsustekやAcerといった企業でさえ、タブレット端末など幅広い分野での地位を確立しようと躍起だ。2004年、レノボにPC事業を売却したIBMは先見の明があった。

90年代の終わりごろから、PCはインターネット利用のための必需品として家庭に広く普及した。しかしスマートフォンやタブレットの普及により、インターネット端末としてのPCの果たす役割は縮小しつつある。ウェブサーフィンをして、メールを読んで、ゲームで遊ぶくらいなら、PCはもはや不要だ。学生にiPadを配布する大学なども出てきている。もちろんオフィスワークやプロフェッショナル分野などで今後もPCは利用され続けるだろう。しかしほとんどの家庭や学校にPCがあるという時代は終わりつつあるのではないか。

PCというのは面白いガジェットで、その端末で動かせるソフトウェアを、その端末自身で開発することができる。当然のように思われるかもしれないが、たとえばスマートフォンやタブレットのアプリは、スマートフォンやタブレット上では開発できない。テレビでテレビ番組を作ることはできないし、ゲーム機でゲームソフトを作ることもできない。もちろんスマートフォンやタブレットなどでプログラム環境を整備する動きも出てくるだろうが、ますますリッチになっていくアプリに対応できるとは思いがたい(そういえば私も小学生時代、絵描衛門というファミコンゲームでシューティングゲームを作ったものである)。

これからの子供たちはPCに触れる機会を失う。それはつまり、プログラミング環境に触れる機会を失うということである。インターネットが普及して今日までは、プログラマにとっては天国のような環境だった。ウェブアプリはHTMLやJavaScriptといった比較的シンプルな言語で記述できる。PerlやPHPといったスクリプト言語は入手が簡単で、簡単にはじめることができる。そしてオンラインには多数の教材があり、テンプレートなども整備されており、コミュニティに相談することもできる。ところが、肝心のPCが家庭や学校から消えていく。家にあったPCでなんとなくプログラミングをはじめてみた、というようなことがなくなるのである。

すでに優秀なプログラマは希少な人材となっている。デジタルコンテンツやデジタルメディア、モバイルアプリといったビジネス分野が拡大する一方で、プログラミング環境が失われていけば、プログラマはますます貴重な存在となるだろう。であれば、型通りの授業ではない、実践的なプログラミングを学ぶことが、若者の生き残り策として注目を集めるはずであり、プログラマ道場がビジネスモデルとして成立するはずである。今日、各所で開催されているIT系勉強会は、より組織的・体系的になり、プログラマはギルド的な集団へと回帰していくかもしれない。PCメーカーは「お子さんの将来のために」とうたって、PCを売るべきだろう。

考えられるアイデア

  • プログラミングができない人間を、社会が求めるプログラマの水準まで引き上げるための教育、支援
  • 優秀なプログラマを確保するための企画、就職・転職サポート、技術認定制度
  • ギルド化するプログラマコミュニティの運営、ノウハウ共有

関連情報

写真:donjd2

RDocの脆弱性情報に見るjQueryの安全な使い方

0-9:

RDocの脆弱性情報

2013-02-06に以下の脆弱性情報が公開されました。

RDoc で生成した HTML ドキュメントにおける XSS 脆弱性 (CVE-2013-0256)

これはRDocの脆弱性情報ですが、実際にはdarkfish.jsというファイルの修正のみでありJSの問題であることがわかります。

問題のdarkfish.jsを確認すると該当の処理は「var anchor = window.location.hash.substring(1);から取得した値を$(“a[name=” + anchor + “]”);に渡した」処理であったことがわかります。
(このファイルが脆弱性情報のファイルと同じかは確認してないですが、ファイル名とコードから同一と判断しました)

修正方法としては$(“a[name=” + anchor + “]”)でのセレクター埋め込みをやめて$(“a[name]”).eachのeach内で要素と変数を比較するようにした($(this).attr(“name”) == anchor)なっています。

何が問題だったのか

外部から受け取った値(location.hash)を$(“a[name=” + anchor + “]”)に渡すことでXSSが可能になっています。

これは作者が$()で要素の選択のみを想定していたはずが、意図せずに要素の生成まで出来てしまうことが原因です。

この問題は「location.hashでページ内の要素をJSで指定する」場合の実装に多く存在しており、jQueryを使ったサイトで脆弱性がある場合高い頻度で報告されます。

jQueryにおけるXSSを引き起こしやすい問題について - 金利0無利息キャッシング – キャッシングできます - subtech

どう回避すればいいのか

RDocの脆弱性情報では変数をセレクターに埋め込むことをやめて変数比較にしていますが、jQueryを使う場合には以下のようなコードでも回避することが可能です。

  1. 要素の選択系APIを使う

    $(“a[name]”).filter(“[name=”+anchor+”]”)

$()は「要素の生成」と「要素の選択」両方の機能を持っているため「意図しない要素の生成」が発生しますが、.filterや.findは「要素の選択」の機能しか持っていないため「意図しない要素の生成」が発生しません。
(ただし、極端にブラウザのリソースを奪うことはできる可能性があるので、それが問題になる場合は次の回避策を使ってください)

  1. functionを使って要素を選択する

    $(“a[name]”).filter(function () { return $(this).attr(“name”) === anchor })

.filterは引数にfunctionを受け取り、その中でtrueを返した要素を選択する機能があるため、この機能を使うことで意図しない要素の生成が発生しません。

  1. $()に渡す内容を制限する

    $(“a[name=” + anchor.replace(/\W/g, ”) + “]”)

anchorの内容を[a-zA-Z0-9_]に制限することで意図しない要素の生成を回避出来ます。
(ただし、RDocのname属性が全て\wで記述されているかは確認しています)

そもそもの問題点

そもそもの問題点として、コード内で文字列を組み立てて外部のシステムに渡す構成自体が安全ではありません。

  • SQLインジェクション(SQL文字列に変数を埋め込む場合に多く発生)
  • コマンドインジェクション(コマンドライン文字列に変数を埋め込む場合に多く発生)
  • XSS(html文字列に変数を埋め込む場合に多く発生)

システム的に文字列で値をやり取りすること自体はやむを得ない場合もありますが、こういったコードを書く場合は常にインジェクション系の問題が発生しないか注意してコードを書く必要があります。

類似問題

今回の脆弱性情報とか無関係ですが、同じようにlocation.hash経由でよく指定される内容として「サーバサイドのファイル名」があります。

これは以下の様なコードで、やはり脆弱性があります。

$.get(location.hash.substring(1), function (html) {
    $('body').html(html);
});

古い(XHR level2をサポートしていない)ブラウザであれば、上記のコードで取得できるのは同じドメイン上のファイルのみとなるため、同じドメイン上に問題のあるファイルが存在しない場合安全ですが、XHR level2をサポートしているブラウザであれば上記コードでは外部サーバのデータを取得することが可能なため危険なコードとなります。

この問題はlocation.hashを「ファイルパスでしか使用できない文字列に制限する」ことで回避可能ではありますが、ChromeやIEはロングIPがサポートされていることと、スキーマの省略をできるので文字列制限だけでは回避が難しい問題があります。

// XMLHttpRequest cannot load http://192.168.0.1/.
$.get('//3232235521', function (html) {
    $('body').html(html);
});

IPアドレス - Wikipedia
The Sexy Assassinで紹介されてるCSS HTML Attribute Readerがどこまで危険か検証してみた

まず、外部から任意のファイルを指定してのアクセスできる構成はできるだけ避けるほうが無難ですが、もしそういう構成をとらざるをえない場合以下の点に注意してください。

  • アクセスできるディレクトリを指定する
    アクセスできるディレクトリを「/html/」等の文字列を追加することでschemeを省略したURLや同じドメイン上の想定していないディレクトリへのアクセスを回避出来ます。また、アクセスできるディレクトリ以下には実際に使用するhtml以外のファイルは存在しないようにしましょう(ユーザがファイルをアップできないように)。
  • .replace(/.+/g, ‘.’)を行う 「../」と言った方法で指定ディレクトリ外へアクセスされることを制限します。これに関しては単純に.replace(/../g, ”)といったコードでは「../」で回避できてしまうことに注意してください。

この問題は古いjQuery Mobileでも存在した問題で、元々安全に実装するのが難しい構成です。

可能であればファイル名を\wに制限し、以下の様な実装をおすすめしますが、この構成でもサーバ上の実装によっては危険な状況になる場合もあるので注意してください。

$.get('/html/'+(location.hash.replace(/\W/g, ''))+'.html', function (html) {
    $('body').html(html);
});

tumblrの魅力(世間様に判りやすく書いてみる編)

bacarsblog:

みなさまごきげんよう。

bacarsでございます。

本日はどうもイマイチ世間様に伝わりづらいtumblrの魅力を私なりの視点で世間の多くのみなさまに判りやすく書いてみようと思います。

  • 適度な距離感
    twやfb同様tumblrもフォローしたりされたりするわけですが、お互いの距離感がいい感じで離れてるのでお互いに楽ちんです。

  • 自分の好きなもんばっかがじゃんじゃんダッシュボードに流れてくる
    まあ、どのアカウントをフォローするかによりますが、「ピンと」きた人のみをフォローしておけば常にダッシュボード(twでいうとこのタイムラインね)はあなたのすきな写真やイラスト、動画や文章で溢れ流れていきます。そう。川の流れのように。。

  • 言葉のいらないコミュニケーション
    画像系のアカウントをフォローするのに言葉は必要ありません。言葉がいらないからめんどっちくなくて楽ちんです。言語の違う人とのコミュニケーションも非常に楽ちんです。これでかい。

  • テレビっぽくもありますね
    tumblrは自分のダッシュボードを眺めているだけで楽しいです。そう。その辺の感覚はテレビに近いかもしれませんね。

  • リブログできる
    これはちょっと判りやすくしようとすると説明が難しいですねー。要はダッシュボードに流れてきたコンテンツを自分のブログのエントリとして取り込めるわけです。パクっと。ガボっと。これはtumblrの醍醐味ですねー。
    「いる!」と思ったらリブログ。「いらない!」と思ったらスルー。これを超高速でくっり返しているとアホみたいに楽しくなってまいります。そう。こんな感じで。。。いる!いらない!いる!いる!いる!いらない!いらない!いらない!いる!いる!いる!いらない!いらない!いらない!いる!いらない!いらない!

  • 目利き職人技に触れられる
    戦闘機ばっかとか、猫ばっかとか、ちょっちえっちな写真ばっかをアップするアカウントをフォローすると、なんつーか濃ゆい情報が目の前に現れる確率がアップします。目利き職人の視座はやっぱスゲーなあーみたいな。

  • 視野がアホみたいに広がる
    これは間違いないですね。うん。ほんとほんと。外国人の方でも気軽にフォローできるってのはおおきいですねー。

  • 反射神経のトレーニングになる
    まあ。のんびり使うこともできますが。ダッシュボードにはとにかくじゃんじゃんいろんなものが流れてくるんでじゃんじゃん見なければなりません。流れてくる速度に追いつこうとすると自ずとスピードアップが必要になってくるわけでございます。まあ。のんびり使うこともできますが。 

  • tumblr好きな人とスゲー仲良くなれる
    tumblrずきはまだまだ少ないので、tumblrずき同士が出会うとスゲー話が盛り上がります。これはtwやfbにはないとこかもしれません。

  • 目的のいらない抽象的なコミュニケーションが気持ちいーーー!
    twやfbは文字が基本のコミュニケーションなんで、まあ。目的なく使うことってなかなか難しいですが。tumblrは特に目的がいらないってのがナイスですね。あるポストが気になればリブログ。そこからコミュニケーションが始まることもあるし、常に誰かをリブログしなきゃいけないわけじゃないし。この辺の感覚はまあ。スゲー世間様には伝わりづらいかもですねw

  • 使い方はあなた次第
    とまあ、こんなわけでtumblrは「使い方はあなた次第」すぎるのかもですねー。使い方はあなた次第すぎるから、世間様はなにしていーかわけわかんねえーーーー!???ってなっちゃうのかもですね。


とまあ、思いつくまま書いてみましたが。
 
やっぱ
難しいですね。 
tumblrの魅力を世間様に判りやすく伝えるのは。。。w

機会があればまた書いてみますね!


チャオ☆