39
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

self XSS についてと、SNS の JS コンソールいろいろ

Posted at

昔からあるみたいなんだけど、qiita で記事検索してみたら無かったので投稿してみる。
selfXSS について。

とっても便利な JS コンソール

ちょっとした JS コードを動かすなら、chrome の JavaScript コンソールが便利だ。
chrome の右上、八卦で言うと「乾」みたいなマークを押し、ツール→ JavaScript コンソール で画面下側にコンソールが開いて、色々と実験が出来る。
同じものが Mac なら command + option + J で開く。手元に windows PC が無いが、たぶん ctrl + shift + j とかで開くはず。

ある日、facebook を開いているときに JS コンソールを開いたら、次のような警告が出た。

スクリーンショット 2014-09-22 17.05.14.png

悪意のあるコードを貼り付け無いように注意するとともに、 セルフXSSとは何ですか というページへのリンクが貼られている。

我々開発者は、SNS や EC サイト開発の際、不断の努力によって「A さんが B さんの個人情報を奪う」というのを防いでいる(ドヤァ)。
ところが、「A さんが A さん自身の個人情報を見る」というのはどうにも対策しようが無い。これを防いでしまうと、SNS が SNS でなくなってしまうからだ。
だから、ある程度盗みにくくすることはできるけれども、悪意のある第三者が善意のユーザーをだまくらかして、ユーザー自身が悪意のあるコードを貼り付けてしまうのを防ぐことが完全には出来ない。

それを受けての、この JS コンソールだと思われる。

その他の SNS

Twitter

スクリーンショット 2014-09-22 18.20.23.png
特に注意文は無いが、console.log 関数を上書きして何も表示されないようにしている。

Google+

スクリーンショット 2014-09-22 18.21.42.png

mixi

スクリーンショット 2014-09-22 18.23.08.png
mixiェ…

まとめ

self XSS への対策については(まだあんまり調べてないけど)、

  • Facebook, Google+ のようにコンソールに警告を出す
  • Twitter のように console や alert など、主要な API を何もしない関数に上書きしてしまう

などの合わせ技が有効かと思われる。

39
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?