Hatena::ブログ(Diary)

葉っぱ日記 このページをアンテナに追加

2014-12-17

[] 脆弱性"&'<<>\ Advent Calendar 2014 (17日目)  脆弱性"&'<<>\ Advent Calendar 2014 (17日目)を含むブックマーク

この記事は脆弱性"&'<<>\ Advent Calendar 2014の17日目の記事です。今日は少し昔話をしようと思います。がはは。

かつて、日本製TwitterのようなWassrというサービスがありました。当時、Twitterは数日に一度くらいはサービスが落ちていて、Twitterユーザーも「またか」と思いながら我慢して使うようなサービスであり、Twitterが落ちるたびにWassrはユーザーを増やすとともに、画像の添付のように当時Twitterにはまだなかった機能をどんどんアグレッシブに取り入れていく、使っていて楽しいサービスでした。

さて、そんなWassrがある日絵文字機能を導入しました。当時はUnicode絵文字もなくスマートフォンも普及しておらず、主にレガシーな携帯電話で使える絵文字をなんとかWeb上でも使えるようにしたという感じのものでした。

絵文字をパレットから選択するとヒトコト(TwitterでいうTweet)を入力するテキストボックス内には {emoji:XXXX} のような形式の文字列が挿入され、それを投稿するとXXXXに該当する絵文字が表示されるという仕組みでした。

その機能が実装されてしばらくして、僕はどんな絵文字が使えるのか、すなわちパレット内に表示されているものが使える絵文字全てなのかどうなのかというのが気になり、とりあえず {emoji:0000}{emoji:0001}…というように片っ端から絵文字のコードを挿入して投稿してみたのでした。すると、応答されたHTMLの投稿したヒトコトが表示される部分以降が言葉どおり真っ白になっていて、</body>の閉じタグさえないという状態になってしまいました。ああ、なんだかよくわからないけど意図しない結果が返ってきた、これは面白い!そう思って僕は自分のユーザ名にも{emoji:xxxx}のような白くなる絵文字コードを設定し、ページをリロードしてみると、今度は自分のユーザー名が表示されるより以降のHTMLが途切れてページが真っ白になって返ってきました。

よしもう少し調べようとHTMLソースを見ながらページをリロードすると…今度はなんとログインページが表示されてしまったのです。あれ?ログインしているはずなのに、なにか操作ミスをしたかなと思いながら自分のIDとパスワードを入力しログインを試みると、なんと「そのユーザーは存在しません」というエラーメッセージが。

ここで僕は、もしかして自分のしたことが原因でアカウントが消えるような惨事を引き起こしたのか、あるいは運営からトラブルを作ったということでアカウント消されたのだろうかと思い至ったわけです。

Wassrのアカウントを消されたので焦ってTwitterに書き込んだ当時のTweetがこれ。

そして、それをみたkanさんのTweetがこれ。

その時点では詳しくは知らなかったのですが、後日聞いたところによると

  • 存在しない絵文字のコードが指定された場合、例外をトラップしていなかったために絵文字を展開するサービスが落ちてしまいその絵文字指定より後ろのHTMLが生成されなくなる
  • 私のユーザ名部分にそういった絵文字コードが含まれていたため私をフォローしている人全員にそういう現象が発生した
  • とにかく復旧のために焦って私の投稿したヒトコトを消したもののまだ現象がなおらない(ユーザ名にも含まれていたので)
  • そんなわけでとりあえず私のアカウントを消した

という状況だったようです。そして落ち着いたところでWassrアカウントは復旧されたのですが、復旧された時点ではよほど焦ったのか、ユーザ名が "hsegawa" になっていました。それはそれで気に入ったというのもあり、以降当分の間僕は反省の意味も込めてユーザー名に hsegawa を使ったりもしていたのですけど。

そして、さらにその後、Wassr開発の人と飲みに行くようになり、その席でやはりこの話が出たときには「あれは正直訴えてもいいかと思った。何しろ広告が表示されないという実害が出たので」ということを言われたのでした。

教訓:攻撃するつもりがなくても遊びすぎるとよくない。

プログラマですがプログラマですが 2014/12/17 10:15 バグったソフトをリリースしておいて訴えるとかいう人とは、わたしは付き合いたくないですね。

kiya2015kiya2015 2014/12/17 10:24
カギに欠陥があって泥棒に入られた場合、たしかに欠陥のあるカギを作った製造者にも落ち度があるが泥棒は罪を問われるのが当然。

プログラマですがプログラマですが 2014/12/17 12:15 なにが当然なんだかさっぱりわかりません。誰も泥棒してないし。

バグを見つけてくれたのだから感謝するべきところを、逆恨みしたり訴えたりなどという思考回路はソフト屋としては二流もしくは素人です。

mtodmtod 2014/12/17 23:53 この場合、訴えるってのはどう考えても飲みの席の冗談でしょ

まあねまあね 2014/12/18 11:40 広告非表示で実害って言い方も気になったけど、目くじら立てる話ではないわな

双六双六 2014/12/18 14:32 「ああ、なんだかよくわからないけど意図しない結果が返ってきた、これは面白い!」
この発想好きだなぁ

2014-12-16

[] 脆弱性"&'<<>\ Advent Calendar 2014 (16日目)  脆弱性"&'<<>\ Advent Calendar 2014 (16日目)を含むブックマーク

この記事は脆弱性"&'<<>\ Advent Calendar 2014の16日目の記事です。

f:id:hasegawayosuke:20141216085343p:image

Enjoy!

で終わらせようかと思ったんだけど、毎日Enjoyし過ぎじゃないのみたいに思われそうなのでここ数日のを少し解説。

脆弱性"&'<<>\ Advent Calendar 2014 (12日目)
URLが示すとおりAppleのサイトで任意コンテンツを表示可能な脆弱性。見つけたときにはもともとAppleサイトの問題なのかなと思ったけれど、Oracleのサイトにも同じような問題があって、Oracleへ連絡したらJavadocの脆弱性ということでJavaの脆弱性修正にて対応された。
脆弱性"&'<<>\ Advent Calendar 2014 (13日目)
特許庁。見たまま。フレーム内に任意コンテンツを挿入可能。
脆弱性"&'<<>\ Advent Calendar 2014 (14日目)
オライリーのフィードバックコメントを書くページ。12日目、13日目はiframeやframeとして任意コンテンツが差し込めるだけだったけどオライリーのサイトはURLを見るとわかるように普通にXSS。
脆弱性"&'<<>\ Advent Calendar 2014 (15日目)
マイクロソフト。alert内を見るとわかるようにDOM based XSSなので2013年当時のChromeのXSS Auditorでは止まらない(今だとたぶん止まる)。
脆弱性"&'<<>\ Advent Calendar 2014 (16日目)
今日。マイクロソフト。DOM based XSSでIE10のXSSフィルターを通過。

他にもいろいろあるけど出すと怒られたり金融系のように不安をあおりそうなところも多いのでこれくらいで。明日はまじめなネタを書くかも。

Enjoy!

2014-12-15

[] 脆弱性"&'<<>\ Advent Calendar 2014 (15日目)  脆弱性"&'<<>\ Advent Calendar 2014 (15日目)を含むブックマーク

この記事は脆弱性"&'<<>\ Advent Calendar 2014の15日目の記事です。

f:id:hasegawayosuke:20141215081404p:image

Enjoy!

2014-12-14

[] 脆弱性"&'<<>\ Advent Calendar 2014 (14日目)  脆弱性"&'<<>\ Advent Calendar 2014 (14日目)を含むブックマーク

この記事は脆弱性"&'<<>\ Advent Calendar 2014の14日目の記事です。

f:id:hasegawayosuke:20141214190546p:image

Enjoy!

2014-12-13

[] 脆弱性"&'<<>\ Advent Calendar 2014 (13日目)  脆弱性"&'<<>\ Advent Calendar 2014 (13日目)を含むブックマーク

この記事は脆弱性"&'<<>\ Advent Calendar 2014の13日目の記事です。

f:id:hasegawayosuke:20141213084022p:image

Enjoy!