読者です 読者をやめる 読者になる 読者になる

五郎丸さんのツイートの画像がアレだったのはTwitterのバグ?

もうブログさ、文章まとまらないしどう書いていいのかほんとうにわからない。まあいいか。

もう削除されちゃったみたいだけど、五郎丸さんの古い「北見のバーのオーナーからかなり遅めの誕生日プレゼント」というTweetの写真に、女性器の写真が添付されてたのでなんだかRetweetされまくってた。

これは、そのツイートに書いてあった文字を検索できるようにしておいた自分のメモ用ツイート。この文と一緒に、おmんkが並んでて五郎丸さんの公式のアカウントだったから、まじかよ何このギャグwww公式アカでこんなことするはず無いよね?wwってわらってたら、ヒントが飛んできた。笑


 素晴らしく有用なマジレスが流れてきたので、これはバグだろうなって直感で思った。

ご本人の投稿写真とは違うものが表示されていることは確実として、原因はアカウントのハッキングかという話も出ていたけど、そもそもツイートの編集機能が公開されていないので、Twitter社の外部の人が意図的に操作することはできませんね。システムってものは悪意があって操作されても悪意が操作する機能が実装されていなければ全くもって無害だ。

過去、Twitterに写真添付ができなかった頃にあった、今や屍、yfrogやtwitpicなどが乗っ取られて変な画像出してる可能性もあると思ったので、Twitter Clientを見てみるたらAndroid公式のアプリからの投稿だった。そして、画像のURLはpic.twitter.comになってた。だから外部の写真サービスが乗っ取られたっていうのは無い。

 

ということは、結局Twitter本体のバグ確定でしょうね。ちょうどTwitter本体で画像投稿機能をリリースしたタイミングでの投稿だったようです。その頃の画像ファイル名の生成ロジックと、今の生成ロジックが競合して上書かれたんだろうなって思います。どこの時点でこうなったのかは謎だけど。

 

 

www.itmedia.co.jp

こんなので恥かくの嫌だろうから、よかったよかった。さわやかな髪の毛渋谷で切ったったわーっていうTweetとともに女性器の画像がRTされてきたのは、笑った。

 

画像の保存ってシステムの作り方にもよるんだけど、よくあるのは裏で1,2,3....って順番が振られていて数字で保存されてて、数字をそのまま表示するのは危ないから、数字を暗号化したものをファイルの名前にしてたりする。

なんで数字でURLにするとだめかって言うと、image/1 image/2…image/23985、とかすると、この数字を100万まで順番にいっきにアタックできちゃったり、image/2の非公開設定を破るってのを試しやすくなってしまうからだ。

なんでこんなファイル名がバレているだけでハッキングしやすくなるかというと、有るか無いかわからないところにアクセスしても答えはアクセスしてみないとわからないのだが、番号順に有るはずってなると、もうすでにひとつ答え探しのステップが進んでいることになるからだ。

 

だからこんな風「AzuuY9GCYAEEwWm」にランダム文字っぽく、変換ロジックを1方向で変換して元の順番がバレにくくするの。でも暗号化のロジックを知っている人は辿れるようにしてある。

 

インターネット上のサービスで変換した結果。

MD5ハッシュ計算ツール - phpspot

文字列 :  

1のmd5ハッシュ値c4ca4238a0b923820dcc509a6f75849b

 

私のパソコンで1を変換した結果。

MD5 ("1") = c4ca4238a0b923820dcc509a6f75849b

 

同じ。すごい。

 

サービス始めたばかりのロジックだったから、障害とかで順番が狂ったりした時に上書きされたりしたんだろうな。(これも適当書いてるけど)それか、大量に画像作ってるから、「AzuuY9GCYAEEwWm」の名前が循環で出てきたか。

 

んじゃそもそも、順番で発行しなきゃいいんじゃんバカかよって話もあるんだけど、まあそこはウェブアプリのお作法で順番にデータを入れるのが楽だしそういう風に作ったほうが複数のデータの種類の連携が楽になるんだよって作り方を習ったからだよね。

最初から発明するのは難しいことですね。

 

暗号化のロジックが漏れちゃってると、同じ答えが毎回出せるからまたハッキングのステップが進んじゃってることになったりする。(適当に書いてるけど、最近のウェブアプリは全然もっと複雑になってる)

 

終わり。まとまらない。

 

最後に自分のツイート貼っとこ。間違ったこと言ってるけど。