Chrome ExtensionのLive HTTP Headersを調査した。Firefox用のものではない。Firefox用のものではない。
11/7追記
- 類似 or 同様の方法で難読化scriptを埋め込んでいる拡張機能が大量にあったため、Googleに報告済み。
- https://twitter.com/bulkneets/status/795260268221636608
Summary in english.
var express = require("express"); | |
var app = express(); | |
var expressWs = require('express-ws')(app); | |
app.use(express.static(__dirname + '/public')); | |
app.listen(3000, function () { | |
console.log('Example app listening on port 3000!'); | |
}); | |
app.ws('/state', function(ws, req) { | |
ws.on('message', function(msg) { |
拡張機能、live http headers, http headersにポリシー違反の挙動があります。 | |
https://gist.github.com/mala/e87973df5029d96c9269d9431fcef5cb | |
https://chrome.google.com/webstore/detail/live-http-headers/iaiioopjkcekapmldfgbebdclcnpgnlo | |
https://chrome.google.com/webstore/detail/http-headers/mhbpoeinkhpajikalhfpjjafpfgjnmgk | |
- 拡張機能の background js に対して、難読化されたscriptが埋め込まれています。 | |
- webサイトに対して(chrome.tabs.executeScript) 外部のjsコードを挿入します。この機能はユーザーに対しては説明されていません。 | |
- webサイトに対して実行されるscriptは、少なくとも広告やURLのtrackingが含まれています。サイトによって挙動が変わったり、後から変更される可能性があります。 | |
- setTimeoutによって非常に長い時間(24時間以上) 経過した後に有効化されています。 |
Chrome ExtensionのLive HTTP Headersを調査した。Firefox用のものではない。Firefox用のものではない。
11/7追記
Summary in english.
This is src doc of my presentation on shibuya.xss #8 (2016-11-14)
The main topic is vulnerabilities related to url parser.
// responseURLに対応していないライブラリを使っているときにクロスドメイン通信を無理やり止める | |
// https://github.com/jquery/jquery/pull/1615 | |
// responseURL | |
// https://bugzilla.mozilla.org/show_bug.cgi?id=998076 | |
// https://bugs.chromium.org/p/chromium/issues/detail?id=377583 | |
// https://bugs.webkit.org/show_bug.cgi?id=136938 | |
new function(){ |
CVE-2016-7401
https://www.djangoproject.com/weblog/2016/sep/26/security-releases/
pythonのcookie parserが ; 以外もpairsの区切り文字として解釈するので、google analyticsのreferrer経由でsetされるcookieを使ってCSRF tokenを上書き可能だったという問題。
django側でcookie parser自前で実装、python本体は直ってないようだ https://github.com/django/django/commit/d1bc980db1c0fffd6d60677e62f70beadb9fe64a
多くのcookie parserは、pairsの区切りとして ; と , を許容しているのでdjango以外にも影響がある。 ブラウザが使用するcookie pairの区切りは実際には ;
プライバシーとはデータ自体の公開、非公開の制御ではない。 | |
- データ自体の公開、非公開には大した意味がなく、リンクこそが情報の本質である | |
- 自己に関する情報のコントロールが失われることが、プライバシーの侵害である | |
1. データ自体が秘密の情報ではない | |
情報の性質 | |
- 明確に本人以外には秘密にしなければならないもの → 例: パスワード | |
- 住所 → 単体では単なる文字列、住民基本台帳調べれば出てくる、その土地に実際に行けば調べられる |
未修正のアプリが数多く残っている状態なので、パブリックな場所での言及には注意して下さい
未修正のアプリが数多く残っている状況ですが、すでに広く情報が公開されており、2.5.2で修正されたという情報が広まると混乱が生じるため広く周知する次第です。
AFNetworking 2.5.1 にMITM攻撃を許す脆弱性があり、2.5.2で修正された、 と報道されていますが、これは誤りです。