Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
正しいものを正しくつくる
toshihiro ichitani
RailsGirls から始める エンジニアリングはじめの一歩
Hiroshi SHIBATA
DockerコンテナでGitを使う
Kazuhiro Suga
ユーザーインタビューするときは、どうやらゾンビのおでましさ
Yoshiki Hayama
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
リーンスタートアップ、アジャイル開発導入事例
Arata Fujimura
1
of
59
Top clipped slide
バグハンターの哀しみ
Nov. 20, 2015
•
0 likes
70 likes
×
Be the first to like this
Show More
•
47,792 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
AVTOKYO2015の発表資料です。
Masato Kinugawa
Follow
Advertisement
Advertisement
Advertisement
Recommended
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE
25.1K views
•
51 slides
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
81K views
•
117 slides
脆弱性検査ツールってどうよ
Masakazu Ikeda
10.4K views
•
31 slides
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
CODE BLUE
7.6K views
•
84 slides
XPは何を伝えたかったんだと思う?
Masanori Kado
15.4K views
•
92 slides
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
55.8K views
•
32 slides
More Related Content
Slideshows for you
(20)
正しいものを正しくつくる
toshihiro ichitani
•
35.1K views
RailsGirls から始める エンジニアリングはじめの一歩
Hiroshi SHIBATA
•
819 views
DockerコンテナでGitを使う
Kazuhiro Suga
•
17.1K views
ユーザーインタビューするときは、どうやらゾンビのおでましさ
Yoshiki Hayama
•
8K views
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
•
6.6K views
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
•
51.4K views
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
•
144.5K views
リーンスタートアップ、アジャイル開発導入事例
Arata Fujimura
•
3.6K views
「顧客の声を聞かない」とはどういうことか
Yoshiki Hayama
•
132K views
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
Tokoroten Nakayama
•
19.7K views
資金調達入門“以前” スタートアップが資金調達の前に考えること
Takaaki Umada
•
42.7K views
Pythonによる黒魔術入門
大樹 小倉
•
43.8K views
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
•
8K views
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
•
9.2K views
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
Yoshiki Hayama
•
7.1K views
BERT分類ワークショップ.pptx
Kouta Nakayama
•
348 views
価値探索 -仮説検証の実践-
toshihiro ichitani
•
4.5K views
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
•
22.4K views
ユースケースからテスト駆動開発へ
Shuji Watanabe
•
7.6K views
ビジネスパーソンのためのDX入門講座エッセンス版
Tokoroten Nakayama
•
52.1K views
More from Masato Kinugawa
(6)
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
Masato Kinugawa
•
38.7K views
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
•
21K views
Bug-hunter's Sorrow
Masato Kinugawa
•
8.6K views
SecurityCamp2015「CVE-2015-4483解説」
Masato Kinugawa
•
12.3K views
いでよ、電卓!
Masato Kinugawa
•
16.2K views
見つけた脆弱性について(cybozu.com Security Challenge)
Masato Kinugawa
•
10.4K views
Advertisement
Recently uploaded
(20)
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
63 views
20230602_enebular_meetup_kitazaki_v1.pdf
Ayachika Kitazaki
•
25 views
Omnis
DaisukeFujita10
•
21 views
【DL輪読会】大量API・ツールの扱いに特化したLLM
Deep Learning JP
•
66 views
Forguncy8 製品概要 202305.pptx
フォーガンシー
•
55 views
ChatGPT触ってみた
infinite_loop
•
57 views
GitHub と Azure でアプリケーションとインフラストラクチャの守りを固めるDevSecOps
Kazumi IWANAGA
•
6 views
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
21 views
Wandb LLM Webinar May 30 2023 (配布用).pdf
Yuya Yamamoto
•
3 views
AIEXPO_CDLE名古屋紹介
KotaMiyano
•
3 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
統計学の攻略_正規分布ファミリーの全体像.pdf
akipii Oga
•
222 views
《杨百翰大学毕业证|学位证书校内仿真版本》
d520dasw12
•
2 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
196 views
TestSIP (1).pdf
DeependraSingh712859
•
2 views
量子論.pdf
hiro150493
•
7 views
ネットワークパケットブローカー市場.pdf
HinaMiyazu
•
7 views
SoftwareControl.pdf
ssusercd9928
•
7 views
SoftwareControl.pdf
ssusercd9928
•
15 views
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
31 views
バグハンターの哀しみ
バグハンター の哀しみ Masato Kinugawa か な
自己紹介 Masato Kinugawa 孤独のバグハンター XSSだけが友達
普段のお仕事 職場 自宅 勤務時間 やる気がある時 仕事
セキュリティバグを探す 収入 Bug Bounty ➡これだけでやっていける?
去年の年収
去年の年収 41050707 円
去年の年収 41050707 円 (8進数)
あかるい話は ここまでだ!
話すこと 前 インターネットを 止められた話 後 哀しいバグ
インターネットを 止められた話
概要 BenesseのサイトのXSSを探した 自宅のネット回線がとまった 紆余曲折あり ➡なぜBenesseのXSSを探していたか?
2013年夏 U+2028/2029を使ったDOM based XSS の可能性に気付いた http://masatokinugawa.l0.cm/2013/09/u2028 u2029.domxss.html アバウトな正規表現を書くと簡単にハマる 詳細はBlogで:U+2028/2029とDOM
based XSS 影響を調べていた ハマってる人多いかも? ということで
調査方法 ❶ URLの#以降にU+2028とDOM based XSSが起き得る文字列をつけて まわる ❷
変なエラーがでないかみる http://host/#[U+2028]'"><svg/onload=alert(1)>
すると Benesseのサイトにメチャ普通のDOM based XSSがあった https://web.archive.org/web/20130723155109/http://manabi.benes se.ne.jp/#"><svg/onload=alert(1)> function writeAccesskeyForm(){ var
htm = ''; var ownURI = location.href; //略 htm+= '<input type="hidden" name="backurl" value="' + ownURI + '">'; //略 document.write(htm); } writeAccesskeyForm();
それから 2013/08/05 報告 2013/08/06 応答 "この度は、「Benesseマナビジョン」の脆弱性をご指摘 いただき、誠にありがとうございます。
至急こちらでも 事実を確認の上、対応を進めるようにいたします。 この 度はご連絡いただき誠にありがとうございました。" 2013/8下旬 修正を確認
この対応を受け 修正する姿勢、 報告を受け入れる姿勢を感じた 別のとこも探して報告しよう! これが XSS-Nightmare の はじまりであった…
探した 普通のReflected XSSがすぐみつかった この度は、新たに3件のXSS脆弱性をご指摘いただき 、 誠にありがとうございます。
今回についても弊社 でも事実確認の上、 鋭意対策を進めさせていただき ます。 前回に引き続き、大変貴重なご指摘を賜りま したこと、 重ねがさね御礼申し上げます。 2013/08/28 報告 2013/08/30 応答
同じころ manabi.benesse.ne.jpに突然アクセス できなくなる IPを変えるとアクセスできるようになる 詳しくみると ➡検査のリクエストが原因で アクセス拒否してる?
そういうこともあるだろう (問題の報告のついでに)一応連絡: 「検査のリクエストでアク禁してるかもし れないけど報告の通りなのでよろしく」 後日 修正が不適切であるとのこと、 ご指摘ありがとう ございます。 確認・検討のうえ、
対応を進めさせ ていただきます。 誠にありがとうざいました。 ➡アク禁のことはスルー まあ伝わっているよね
その後も報告を続ける 修正方法が悪く何度も不完全だと伝える その確認のたびにアクセス拒否… IPを変更して確認を繰り返す
そして 2013/9/7夕方に事件は起きた
なにが起きた?! 最初は障害や機器の故障を疑った ところがどれも違う プロバイダのメールを見ると 警告がきていることに気付く そこから不審なアクセスがあった、ウイルスに 感染などして踏み台になっていないか
不審なアクセス 思い当たると言えば思い当たる 警告メールの前後に脆弱性を検査・ 報告したサービス: Google、excite、Benesse (というか、日頃やっていること、 アクセスだけみたら全部不審) ➡これまで報告していなかったサービス アクセス拒否もあるし、どう考えても怪しい
ねじれ ご指摘、誠にありがとうございます。 9月6日、9月7 日にいただきましたメールの内容についても 弊社でも 確認のうえ、鋭意対策を進めさせていただきます。
た いへん貴重なご指摘を賜りましたこと、 重ねがさね御 礼申し上げます。 9月9日、返信では相変わらず感謝:
@niftyからお手紙が届く 攻撃行為をしないという誓約書が同封 待ってくれ、違うんだ…
Benesse/@niftyに 電話でコンタクト 両「セキュリティ上の理由で答えられない」 僕「家のネットが止まって困っている。 事実関係を確認させてほしい。」
らちが明かない!! まともに仕事ができないのでWiMAXを契約 テザリングを使ってすがる思いでBlogに書く もうだめだ… そんなときに現れた救世主 それが http://masatokinugawa.l0.cm/2013/09/xss.benesse.html たぶんXSSが理由でインターネットがとまった
徳丸先生である!
DMを頂く ブログ読みました。この件について、 ベネッセと連絡をとっています。メー ルアドレスを教えて頂けますか? あなたが神か!
その後のやりとり ベネッセはセキュリティ業者に侵入 検知システムの運用を委託していて、 攻撃を検知すると、ブロックやISP への連絡をしているそう。 ふむふむ
その後のやりとり そのフローにひっかかり、 IPS(侵入防止システム)検知 ➡ セキュリティベンダの監視 ➡ ISPへの連絡 ➡
ISPによる遮断 となったようだ なるほど~
その後のやりとり やりとりの結果、ベネッセからISPに 連絡することは可能と言われた。 報告時点のIPアドレスを教えてもらえ れば報告と照合するとのこと。 ええ、記録あるかな…
あった 日頃、自ドメイン(vulnerabledoma.in)で ブラウザの動作テストをしているので、 自分のアクセスが毎日のようにあった! 8月28日: XX.X.XX.2 8月29日: XX.X.XX.25 8月30日:
XX.X.XX.195 8月31日: XX.X.XX.14 9月01日: XX.X.XX.14 .... こんなかんじです:
連絡後 「不正アクセス情報の取り下げ」 および「停止についての解除のお願 い」をしたとのこと。あとはプロバイ ダの判断になる。 ありがたい・・
そしてついに 感涙 9月13日夕方(停止から約1週間)、 インターネット再開!
改めて 徳丸さんの協力なしには自力で事情を 説明することは難しかったです。 この時は本当にありがとうございました! ※ みみりん では ありません
そんな徳丸先生の本が 絶賛発売中だ! http://www.amazon.co.jp/dp/ 4822279987/ http://www.amazon.co.jp/dp/ 4797361190/ 今すぐ購入!!
大きな会社の中は複雑 なんだろうなぁ… 問題を通して感じたこと そりゃ情報の持ち出し も起こるよな…
他人事ではない あなたにBenesseのサイトへXSSっぽい リクエストを送らせるリンクを送る http://manabi.beness(略)/?<script>alert(1)</script> サイトが利用不可に 最悪インターネットが止まる?! あなたがアクセス ※危険なのでリンクできない
侵入検知会社の間違い 攻撃かどうかを精査していない 攻撃の性質を理解していない XSSの対処にIPブロックする意味を問いたい サイト全体を止める方がまだわかる 今回は報告と照合すれば済んだはず 根は遠隔操作事件の問題に近い? ➡根本を修正する手助けをするべき XSSの対処にはそれしかないと思う
XSSの脅威 勝手な操作の実行 機密情報の奪取 ページ内容変更によるフィッシング
XSSの脅威 勝手な操作の実行 機密情報の奪取 ページ内容変更によるフィッシング ネット回線の停止
教訓:世の中には つついてはいけないものがある
実は最近も止められた! 料金の未納で。 (勘違いで手続きができてなかった)
世間は厳しい…
哀しいバグ
ネット再開後 Benesseに事前にIPアドレスを伝えれば、 検査をしてもよいということになった 100件近い脆弱性を報告 (全てをわずかな期間で修正してくれた。 この姿勢は本当に素晴らしい。) その結果 ➡今回はこの中から2つ紹介!
DOM based XSS
❶ https://web.archive.org/web/20130904143057/http://www. benesse.co.jp/s/land/pass/ jQuery("#nav-pw li a, a.tab-link") .bind("click touchstart", function(event){ setTimeout(function(){ hash = location.hash; if (hash != "" && jQuery(hash).length) { //省略 } }, 500); });
DOM based XSS
❶ 特定のリンクのクリック時に イベント を動作させる jQuery("#nav-pw li a, a.tab-link") .bind("click touchstart", function(event){ ...
特定のリンク <div id="nav-pw"> <ul> <li id="nav-first"><a
href="#first-login"><img src="img/nav_pw_01.png" width="260" height="50" alt=" はじめてログインするかたへ"></a></li> <li id="nav-passmodif"><a href="#passmodif"><img src="img/nav_pw_02.png" width="270" height="50" alt=" パスワードを変更(へんこう)したい"></a></li> <li id="nav-passlost"><a href="#passlost"><img src="img/nav_pw_03.png" width="270" height="50" alt=" パスワードを忘(わす)れたので再発行(さいはっこう)したい ... jQuery("#nav-pw li a, a.tab-link") どれも # へのリンク
これを踏まえ jQuery("#nav-pw li a,
a.tab-link") .bind("click touchstart", function(event){ setTimeout(function(){ hash = location.hash; if (hash != "" && jQuery(hash).length) { //省略 } }, 500); }); もう一度よくみてほしい
これを踏まえ jQuery("#nav-pw li a,
a.tab-link") .bind("click touchstart", function(event){ setTimeout(function(){ hash = location.hash; if (hash != "" && jQuery(hash).length) { //省略 } }, 500); }); 0.5秒の間にhashは変えられる! もう一度よくみてほしい
現在のソース hash = location.hash; //
2013.10.4 XSS対応 if(hash == "#first-login"|| hash == "#passmodif" || hash == "#passlost") { }else { hash = ""; } if (hash != "" && jQuery(hash).length) { ... http://www.benesse.co.jp/s/land/pass/ 内のtabs.jsを参照 !
DOM based XSS
❷ <script type="text/javascript"> $(document).ready(function(){ result = "./answer/answer_" + $.query.get('result') + ".html"; $("#answer_box").load(result); }); </script> ... <div id="answer_box"></div> resultというパラメータからパスを組立→ そのURLのレスポンスをページに書き出す
DOM based XSS
❷ パスは同一ドメイン内に制限、セーフ? <script type="text/javascript"> $(document).ready(function(){ result = "./answer/answer_" + $.query.get('result') + ".html"; $("#answer_box").load(result); }); </script> ... <div id="answer_box"></div> https://web.archive.org/web/20120329044331/http://wm.benesse.ne.jp/ contents/oyashindan/answer.html?
No! 同じドメインでユーザのアップロードする アバター画像をホストしている 画像のコメント領域などに<script>…とか書い ておけばそのままの内容をアップロード
こうすれば /vulnpage?result=/../../../../uploads/profile/icon.jpg%23 $(document).ready(function(){ result = "./answer/answer_"
+ $.query.get('result') + ".html"; $("#answer_box").load(result); }); ➡画像のバイナリをページ内に書き出す
DEMO http://vulnerabledoma.in/avtokyo2015/
まとめ これからもできるだけ皆さんに迷惑を かけないようバグを探しますので どうぞよろしくお願いします
@kinugawamasato masatokinugawa [at]gmail.com Thanks!
Advertisement