Suche senden
Hochladen
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
•
1 gefällt mir
•
1,374 views
J
JPCERT Coordination Center
Folgen
Melden
Teilen
Melden
Teilen
1 von 34
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
JPCERT Coordination Center
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
JPCERT Coordination Center
MySQL Connector/J における SQL インジェクションの脆弱性
MySQL Connector/J における SQL インジェクションの脆弱性
JPCERT Coordination Center
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性
JPCERT Coordination Center
Apache Axis2におけるXML署名検証不備
Apache Axis2におけるXML署名検証不備
JPCERT Coordination Center
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JPCERT Coordination Center
Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性
JPCERT Coordination Center
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
JPCERT Coordination Center
Empfohlen
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
JPCERT Coordination Center
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
JPCERT Coordination Center
MySQL Connector/J における SQL インジェクションの脆弱性
MySQL Connector/J における SQL インジェクションの脆弱性
JPCERT Coordination Center
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性
Apache Tomcat における クロスサイトリクエストフォージェリ (CSRF) 保護メカニズム回避の脆弱性
JPCERT Coordination Center
Apache Axis2におけるXML署名検証不備
Apache Axis2におけるXML署名検証不備
JPCERT Coordination Center
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JRE標準ライブラリの脆弱性事例を理解する (AtomicReferenceArrayクラス と Type Confusion)
JPCERT Coordination Center
Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性
JPCERT Coordination Center
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
JPCERT Coordination Center
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
JPCERT Coordination Center
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
JPCERT Coordination Center
Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
クロスサイトリクエストフォージェリ(CSRF)とその対策
クロスサイトリクエストフォージェリ(CSRF)とその対策
JPCERT Coordination Center
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
JPCERT Coordination Center
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
Yosuke HASEGAWA
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Hiroshi Tokumaru
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
JPCERT Coordination Center
Spring fest2020 spring-security
Spring fest2020 spring-security
土岐 孝平
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
Masatoshi Tada
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
JPCERT Coordination Center
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JPCERT Coordination Center
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
Uehara Junji
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
Norito Agetsuma
安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018
Hiroshi Tokumaru
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
Sen Ueno
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
Hiroshi Tokumaru
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
Hiroshi Tokumaru
Blojsom におけるクロスサイトスクリプティングの脆弱性
Blojsom におけるクロスサイトスクリプティングの脆弱性
JPCERT Coordination Center
Advanced SQL Injection Attack & Defenses
Advanced SQL Injection Attack & Defenses
Tiago Mendo
Weitere ähnliche Inhalte
Was ist angesagt?
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
JPCERT Coordination Center
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
JPCERT Coordination Center
Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
JPCERT Coordination Center
クロスサイトリクエストフォージェリ(CSRF)とその対策
クロスサイトリクエストフォージェリ(CSRF)とその対策
JPCERT Coordination Center
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
JPCERT Coordination Center
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
Yosuke HASEGAWA
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Hiroshi Tokumaru
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
JPCERT Coordination Center
Spring fest2020 spring-security
Spring fest2020 spring-security
土岐 孝平
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
Masatoshi Tada
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
JPCERT Coordination Center
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JPCERT Coordination Center
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
Uehara Junji
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
Norito Agetsuma
安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018
Hiroshi Tokumaru
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
Sen Ueno
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
Hiroshi Tokumaru
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
Hiroshi Tokumaru
Was ist angesagt?
(20)
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (KOF2014)
Struts2を始めよう!
Struts2を始めよう!
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
クロスサイトリクエストフォージェリ(CSRF)とその対策
クロスサイトリクエストフォージェリ(CSRF)とその対策
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
Android Platform の URLConnection に HTTP ヘッダインジェクションの脆弱性
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
Lessons (to be) Learned from Handling OpenSSL Vulnerabilities
Spring fest2020 spring-security
Spring fest2020 spring-security
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
CERT コーディングスタンダードご紹介 (OSC2017@Osaka)
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
JBoss Application Server におけるディレクトリトラバーサルの脆弱性
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
安全なWebアプリケーションの作り方2018
安全なWebアプリケーションの作り方2018
Keycloak拡張入門
Keycloak拡張入門
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
phpMyAdminにおけるスクリプト実行可能な脆弱性3種盛り合わせ
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
Andere mochten auch
Blojsom におけるクロスサイトスクリプティングの脆弱性
Blojsom におけるクロスサイトスクリプティングの脆弱性
JPCERT Coordination Center
Advanced SQL Injection Attack & Defenses
Advanced SQL Injection Attack & Defenses
Tiago Mendo
Advanced sql injection
Advanced sql injection
badhanbd
OWASP ZAP(など)で挑む SECCON
OWASP ZAP(など)で挑む SECCON
Jun Matsumoto
It all starts with the ' (SQL injection from attacker's point of view)
It all starts with the ' (SQL injection from attacker's point of view)
Miroslav Stampar
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner...
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner...
JPCERT Coordination Center
脆弱性情報はこうしてやってくる
脆弱性情報はこうしてやってくる
JPCERT Coordination Center
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
JPCERT Coordination Center
自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと
Suzuki Masayuki
Devsumi2015_20E1 エンジニアが知っておきたいお金の話
Devsumi2015_20E1 エンジニアが知っておきたいお金の話
Akio Doi
SQL injection: Not only AND 1=1
SQL injection: Not only AND 1=1
Bernardo Damele A. G.
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
zaki4649
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
teapipin
Andere mochten auch
(13)
Blojsom におけるクロスサイトスクリプティングの脆弱性
Blojsom におけるクロスサイトスクリプティングの脆弱性
Advanced SQL Injection Attack & Defenses
Advanced SQL Injection Attack & Defenses
Advanced sql injection
Advanced sql injection
OWASP ZAP(など)で挑む SECCON
OWASP ZAP(など)で挑む SECCON
It all starts with the ' (SQL injection from attacker's point of view)
It all starts with the ' (SQL injection from attacker's point of view)
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner...
Case Studies and Lessons Learned from SSL/TLS Certificate Verification Vulner...
脆弱性情報はこうしてやってくる
脆弱性情報はこうしてやってくる
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと
Devsumi2015_20E1 エンジニアが知っておきたいお金の話
Devsumi2015_20E1 エンジニアが知っておきたいお金の話
SQL injection: Not only AND 1=1
SQL injection: Not only AND 1=1
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
Ähnlich wie Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
Java/Androidセキュアコーディング
Java/Androidセキュアコーディング
Masaki Kubo
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
JPCERT Coordination Center
Tech talk salesforce mobile sdk
Tech talk salesforce mobile sdk
Kazuki Nakajima
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Atsushi Kambara
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
TerraformでECS+ECRする話
TerraformでECS+ECRする話
Satoshi Hirayama
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
Yoichiro Sakurai
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Kazuki Nakajima
Karateによる UI Test Automation 革命
Karateによる UI Test Automation 革命
Takanori Suzuki
Osc2017 tokyo spring_soss_sig
Osc2017 tokyo spring_soss_sig
Kazuki Omo
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
hiroya
クロスプラットフォーム開発を可能にするMonaca
クロスプラットフォーム開発を可能にするMonaca
Monaca
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
Yuji Takayama
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
i_yudai
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
次世代プラットフォームのセキュリティモデル考察(前編)
次世代プラットフォームのセキュリティモデル考察(前編)
Yosuke HASEGAWA
Ähnlich wie Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
(20)
Java/Androidセキュアコーディング
Java/Androidセキュアコーディング
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
安全なPHPアプリケーションの作り方2016
安全なPHPアプリケーションの作り方2016
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
Tech talk salesforce mobile sdk
Tech talk salesforce mobile sdk
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
TerraformでECS+ECRする話
TerraformでECS+ECRする話
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Karateによる UI Test Automation 革命
Karateによる UI Test Automation 革命
Osc2017 tokyo spring_soss_sig
Osc2017 tokyo spring_soss_sig
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
webstart-maven-pugin + 無償で正統?なコード署名証明書を入手する方法
クロスプラットフォーム開発を可能にするMonaca
クロスプラットフォーム開発を可能にするMonaca
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
次世代プラットフォームのセキュリティモデル考察(前編)
次世代プラットフォームのセキュリティモデル考察(前編)
Mehr von JPCERT Coordination Center
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~
JPCERT Coordination Center
DLL読み込みの問題を読み解く
DLL読み込みの問題を読み解く
JPCERT Coordination Center
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』
JPCERT Coordination Center
ソフトウェアセキュリティ保証成熟度モデル
ソフトウェアセキュリティ保証成熟度モデル
JPCERT Coordination Center
Android Secure Coding
Android Secure Coding
JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第2回演習の解説
Javaセキュアコーディングセミナー東京第2回演習の解説
JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第4回演習の解説
Javaセキュアコーディングセミナー東京第4回演習の解説
JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第4回講義
Javaセキュアコーディングセミナー東京第4回講義
JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習
JPCERT Coordination Center
Mehr von JPCERT Coordination Center
(9)
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~
いま改めて製品開発者の脆弱性対応について考える ~情報セキュリティ早期警戒パートナーシップを運用する調整機関の視点から~
DLL読み込みの問題を読み解く
DLL読み込みの問題を読み解く
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』
WordBench東京 7月勉強会「夏のLT大会!」『WordPress とバックアップの話』
ソフトウェアセキュリティ保証成熟度モデル
ソフトウェアセキュリティ保証成熟度モデル
Android Secure Coding
Android Secure Coding
Javaセキュアコーディングセミナー東京第2回演習の解説
Javaセキュアコーディングセミナー東京第2回演習の解説
Javaセキュアコーディングセミナー東京第4回演習の解説
Javaセキュアコーディングセミナー東京第4回演習の解説
Javaセキュアコーディングセミナー東京第4回講義
Javaセキュアコーディングセミナー東京第4回講義
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性
1.
Copyright©2013 JPCERT/CC All
rights reserved. 「Javaアプリケーション脆弱性事例調査資料」について この資料は、Javaプログラマである皆様に、脆弱性を身 近な問題として感じてもらい、セキュアコーディングの 重要性を認識していただくことを目指して作成していま す。 「Javaセキュアコーディングスタンダード CERT/Oracle版」と合わせて、セキュアコーディングに 関する理解を深めるためにご利用ください。 JPCERTコーディネーションセンター セキュアコーディングプロジェクト secure-coding@jpcert.or.jp 1 Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=JP, st=Tokyo, l=Chiyoda-ku, email=office@jpcert.or.jp, o=Japan Computer Emergency Response Team Coordination Center, cn=Japan Computer Emergency Response Team Coordination Center 日付 : 2013.09.30 16:18:17 +09'00'
2.
Spacewalkにおけるクロスサイト リクエストフォージェリ(CSRF)の脆弱性 CVE-2009-4139 JVNDB-2011-003800 2
3.
Copyright©2013 JPCERT/CC All
rights reserved. Spacewalkとは SpacewalkはWebベースのLinuxシステムの統合管理 ツール Red Hat社がリリースしている「Red Hat Network Satellite」のオープンソース版 3
4.
Copyright©2013 JPCERT/CC All
rights reserved. Spacewalkとは 統合管理ツールとして以下が実施可能 —ハードウエア、ソフトウエアのインベントリ管理 —ソフトウェアのインストールやアップデート —設定ファイルの管理と展開 —システムのモニタリング 4
5.
Copyright©2013 JPCERT/CC All
rights reserved. 脆弱性の概要 Spacewalkには、クロスサイトリクエスト フォージェリの脆弱性が存在する。 脆弱性を悪用されることで、被害者が意図しな い操作を実行させられる可能性がある。 Spacewalkではシステムの管理機能を提供して いるため、被害者が意図しない設定変更等が行 われてしまう。 5
6.
Copyright©2013 JPCERT/CC All
rights reserved. クロスサイトリクエストフォージェリとは 攻撃者の罠サイトにアクセスさせ、ログインし ているWebサービスの機能を、意図せず実行さ せる攻撃。 6 解像度UP ① ログイン ② ユーザを攻撃者のwebサイトに誘導 ③ 攻撃者のwebサイトにアクセス ④ 攻撃コードを含むレスポンス ⑤ セッションID + 処理実行のリクエスト ⑥ 処理確定 のレスポンス 攻撃対象のWebアプリケーション
7.
Copyright©2013 JPCERT/CC All
rights reserved. 脆弱性が悪用された場合のリスク ユーザの意図しない機能の実行 • Webサイトが提供している機能により、リスクは異なる • 例えば、掲示板に投稿する機能があった場合、攻撃者に よって意図しない投稿をさせられるかも • 商品を購入する機能があった場合、攻撃者によって意図 しない商品購入をさせられるかも 7 被害者 ・掲示板書き込み ・決済の実行 犯行予告!! xxxxxxxx 意図しない機能の実行
8.
Copyright©2013 JPCERT/CC All
rights reserved. Spacewalk の処理フロー 8 アカウント停止機能を実行する際のSpacewalkの処理フロー ① ユーザがSpacewalkにログインする。 ② ユーザがアカウント停止機能を実行しリクエストが送信される。 ③ Spacewalkがリクエストを受信し、処理を実行する。 ④ 結果を含むレスポンスがユーザへ送信される。 アカウント停止機能を実行する場合の処理フローを解説する。 画面遷移にしたがってユーザが操作を行い、処理が行われる。
9.
Copyright©2013 JPCERT/CC All
rights reserved. ① ユーザがSpacewalkにログインする 9 ユーザがログインし、セッションを取得する。(Cookieを発行する) ログイン セッション(Cookie) 発行 ログイン画面 セッションオブジェクト Cookie セッションに紐付 いたCookieを作 成/発行
10.
Copyright©2013 JPCERT/CC All
rights reserved. ② ユーザがアカウント停止機能を実行しリクエストが送信される 10 管理画面にログインし、アカウント停止画面にアクセスする。 アカウント停止画面 このボタンをクリックすることで機能が実行され、 アカウントが停止(無効)となる。
11.
Copyright©2013 JPCERT/CC All
rights reserved. ③Spacewalkがリクエストを受信し、処理を実行する 11 Spacewalkはリクエストを受信して、アカウント停止機能を実 行する。 POST /rhn/account/AccountDeactivationConfirm.doHTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98; pxt-session-cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true HTTPリクエスト アカウントの停止
12.
Copyright©2013 JPCERT/CC All
rights reserved. ④ 結果を含むレスポンスがユーザへ送信される 12 アカウント停止処理が終了し、結果をレスポンスとしてユーザへ送信する。 Success!! アカウントが無効となり、 ログイン画面に戻る。
13.
Copyright©2013 JPCERT/CC All
rights reserved. 機能実行時 詳細 13 アカウント停止機能を実行する際のSpacewalkの処理フロー ① ユーザがSpacewalkにログインする ② ユーザがアカウント停止機能を実行しリクエストが送信される ③ Spacewalkがリクエストを受信し、処理を実行する ④ 結果を含むレスポンスがユーザへ送信される アカウント停止機能実行時の処理フローにおける、②の処理を詳しく 見てみよう。 POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98; pxt-session-cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true HTTPリクエスト
14.
Copyright©2013 JPCERT/CC All
rights reserved. 機能実行時 詳細 ② ユーザがアカウント停止機能を実行しリクエストが送信される 14 アカウント停止画面のForm要素(HTML)と、機能実行時のHTTPリクエスト You will be logged out immediately after pressing the ‘Deactivate Account’ button below, and <b>will be unable to log back in</b>. </p> </div> <hr /> <form method="POST" name="rhn_list" action="/rhn/account/AccountDeactivationConfirm.do"> <div align="right"> <input type="submit" value="DeactivateAccount" /> </div> <input type="hidden" name="submitted" value="true" /> </form> HTMLソース(抜粋) POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98; pxt-session- cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true Deactivate ボタンを押したときに送信されるHTTPリクエスト 「Deactivate Account」 のクリックで送信される Form要素 送信されるデータにForm要素固有 の値は含まれておらず、毎回同じ データとなっている。
15.
Copyright©2013 JPCERT/CC All
rights reserved. 問題点 Spacewalkがユーザからのリクエストを処理す る際に、正しい画面遷移でリクエストが送信さ れてきたかを検証していなかった。 ※ 参考 CWE(Common Weakness Enumeration) 「CWE-352 クロスサイトリクエストフォージェリ」 http://cwe.mitre.org/data/definitions/352.html 15
16.
Copyright©2013 JPCERT/CC All
rights reserved. 攻撃実行時の処理フロー 16 攻撃実行時は、②の前にユーザが攻撃者サイトへ誘導され、以下のようなフローとなる。 アカウント停止機能を実行する際の処理フロー ① ユーザがSpacewalkにログインする ② ユーザがアカウント停止機能を実行しリクエストが送信される ③ Spacewalkがリクエストを受信し、処理を実行する ④ 結果を含むレスポンスがユーザへ送信される アカウント停止機能を実行する際のSpacewalkの処理フロー ① ユーザがSpacewalkにログインする ② -1 ユーザが何らかの方法で攻撃者のサイトに誘導され、攻撃コードを実 行するコンテンツにアクセスする ② -2 アカウント停止機能を実行するためのリクエストがユーザのブラウザ からSpacewalkに対して送信される ③ Spacewalkがリクエストを受信し、処理を実行する ④ 結果を含むレスポンスがユーザへ送信される 通常の処理フロー 攻撃実行時の処理フロー
17.
Copyright©2013 JPCERT/CC All
rights reserved. 誘導先の攻撃者サイト上のコンテンツ(攻撃コード) 17 攻撃者は以下のようなコンテンツを用意し、Spacewalkにログイン中のユーザを 誘導する。 <html> <body onload="document.atkform.submit()"> <form method="POST" name="atkform“ action="https://www.spacewalkserver.com/rhn/account/AccountDeactivationConfirm.do"> <input type="hidden" name="submitted" value="true" /> </form> </body> </html> 攻撃コードのHTTPリクエストを送信するためのコンテンツ(HTML) アカウント停止機能を実行するForm要素 コンテンツにアクセスすると以下のForm 要素が自動送信される。 HTML
18.
Copyright©2013 JPCERT/CC All
rights reserved. 攻撃コードから送信されるリクエスト 18 ■攻撃コードのポイント • ユーザはSpacewalkにログイン中であるため、Cookieヘッダの値は Spacewalkから発行されたCookieが自動的に送信される。(①部分) • このリクエストを受信したSpacewalkは、ログイン中のユーザーからのリク エストとして処理する。 • 通常の処理で送信されるリクエストと全く内容が一緒であり、Spacewalkに はリクエストが正常なものか(サイト内の正常な遷移で送信されたものかどう か)区別できない。 POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.victim.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98; pxt-session-cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true コンテンツにアクセスすると送信されるHTTPリクエスト ①
19.
Copyright©2013 JPCERT/CC All
rights reserved. POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98; pxt-session-cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true 通常時/攻撃実行時のフロー比較 19 HTTPリクエスト 機能の実行 アカウントの停止 通常の処理フロー 誘導 攻撃者のサイトへ誘導された際の処理フロー アプリケーションにとっては 全く同じリクエストであり、 区別がつかない!! HTML 実行!! 攻撃者のサイト 攻撃コード POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98; pxt-session-cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true HTTPリクエスト
20.
Copyright©2013 JPCERT/CC All
rights reserved. 対策 機能実行の際は、正しい画面遷移からの実行であること を確認するべき。 一般的なCSRF対策: トークンを生成し、セッションに格納する 同時にリクエストのForm要素にもトークンを含める 機能実行時にセッションとリクエストのトークンが一致する ことを検証する 攻撃者がその値を予測したり総当たりで探索したりする 可能性をふまえ、トークンの値は乱数を使って生成し、 十分な長さを持った値にする必要がある。 20
21.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード 21 脆弱性はバージョン1.2.39-85にて修正が適用されている。 アカウント停止機能を実行する際のSpacewalkの処理フロー ① ユーザがSpacewalkにログインする。 ② ユーザがアカウント停止画面にアクセス時に、Spacewalkは トークンを発行しForm要素に埋め込む。さらにセッション変数にトーク ンを格納する ② ユーザがアカウント停止機能を実行しリクエストが送信される。 ② Spacewalkは送信されてきたトークンとセッション変数に格納 されているトークンが同一であることを確認する。` ③ Spacewalkがリクエストを受信し、処理を実行する。 ④ 結果を含むレスポンスがユーザへ送信される。 「②前処理」と「②後処理」が追加されている。 前処理 後処理
22.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード ② Form要素へのトークン発行とセッション変数への格納 22 HTTP/1.1 200 OK : <form method="POST" name="rhn_list" action="/rhn/account/AccountDeactivationConfirm.do"> <input type="hidden" name="csrf_token“ value="-5813750909365530134" /> <div align="right"> <input type="submit" value="DeactivateAccount" /> </div> <input type="hidden" name="submitted" value="true" /> </form> HTTPレスポンス トークン セッション オブジェクト トークン トークン ② トークン をセッション 変数に格納 ③ さらにトークン をHTTPレスポン スのForm要素内の hidden属性に格納 .jsp アカウント停止画面 (disableselfconfirm.jsp) ① トークンを生成 ユーザがアカウント停止画面にアクセスした際に、トークンを生成しアクセス したユーザのセッションに格納する。 ユーザ サーバ (Spacewalk)
23.
Copyright©2013 JPCERT/CC All
rights reserved. 修正前/修正後のソース比較 ② Form要素へのトークン発行とセッション変数への格納 23 <form method="post" name="rhn_list" action="/rhn/account/AccountDeactivationSubmit.do"> <div align="right"> <html:submit> <bean:message key="disableself.jsp.deactivate"/> </html:submit> </div> </form> disableselfconfirm.jsp (修正前) <form method="post" name="rhn_list" action="/rhn/account/AccountDeactivationSubmit.do"> <rhn:csrf /> <div align="right"> <html:submit> <bean:message key="disableself.jsp.deactivate"/> </html:submit> </div> </form> disableselfconfirm.jsp (修正後) カスタムタグ rhn:csrf が追加されている
24.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード ② Form要素へのトークン発行とセッション変数への格納 24 disableselfconfirm.jsp <rhn:csrf /> カスタムタグによりCsrfTagクラスのdoStartTagメソッドが呼び出される (JSPの機能) public class CsrfTag extends HiddenTag { : public int doStartTag() throws JspException { HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpSession session = request.getSession(true); this.setProperty("csrf_token"); this.setValue(CSRFTokenValidator.getToken(session)); super.doStartTag(); return SKIP_BODY; } セッションを取得 トークンを生成し、 セッションに格納する CsrfTag.java
25.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード ② Form要素へのトークン発行とセッション変数への格納 25 public final class CSRFTokenValidator { : public static String getToken(HttpSession session) { String tokenValue = (String) session.getAttribute(TOKEN_KEY); if (tokenValue == null) { // Create new token if necessary tokenValue = createNewToken(DEFAULT_ALGORITHM); session.setAttribute(TOKEN_KEY, tokenValue); } return tokenValue; } 【参考】 CSRFTokenValidator クラスのgetTokenメソッド トークンの生成セッションへの格納
26.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード ② Form要素へのトークン発行とセッション変数への格納 26 disableselfconfirm.jsp <rhn:csrf /> CsrfTagクラスはHiddenTagクラスを継承しており、setPropertyメソッドや setValueメソッドで指定された値はForm要素内のhidden属性で出力される。 public class CsrfTag extends HiddenTag { : public int doStartTag() throws JspException { HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpSession session = request.getSession(true); this.setProperty("csrf_token"); this.setValue(CSRFTokenValidator.getToken(session)); super.doStartTag(); return SKIP_BODY; } プロパティをセットすることでHTMLのForm要素内に以下のような形で出力される。 <input type=“hidden” name=“csrf_token” value=“<getToken()で作成されたトークン>" /> CsrfTag.java
27.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード ③ ユーザがアカウント停止機能を実行しリクエストが送信される 27 POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98 csrf_token = -5813750909365530134&submitted=true 送信されるHTTPリクエスト Form要素内のhidden属性に出力されたトークンの値が送信される。 JSESSIONID= 81099D8047CF94FEA3FB447C3C24AF98 セッション オブジェク トcsrf_token -58137… アプリケーション側ではセッションに関 連付けされたトークンを保持している。ユーザ
28.
Copyright©2013 JPCERT/CC All
rights reserved. 修正版コード ④ アプリケーションによるトークンの検証 28 Spacewalkは送信されてきたリクエスト内のトークンとセッション内 のトークンが同じものであるかを検証する。 検証!! JSESSIONID= 81099D8047CF94FEA3FB447C3C24AF98 セッション オブジェクト csrf_token -58137… POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98 csrf_token = -5813750909365530134&submitted=true 送信されるHTTPリクエスト トークン トークン
29.
Copyright©2013 JPCERT/CC All
rights reserved.29 public final class CSRFTokenValidator { : public static void validate(HttpServletRequest request) throws CSRFTokenException { HttpSession session = request.getSession(); if (session.getAttribute(TOKEN_KEY) == null) { throw new CSRFTokenException("Session does not contain a CSRF security token"); } if (request.getParameter(TOKEN_KEY) == null) { throw new CSRFTokenException("Request does not contain a CSRF security token"); } if (!session.getAttribute(TOKEN_KEY).equals(request.getParameter(TOKEN_KEY))) { throw new CSRFTokenException("Validation of CSRF security token failed"); } } CSRFTokenValidator .java セッション変数とリクエストに トークンが含まれているかを検証 リクエスト受信時にCSRFTokenValidatorクラスのvalidateメソッドが呼び出さ れ、トークンの検証を行う。(本クラスは修正版コードに追加されたもの) 修正版コード ④ アプリケーションによるトークンの検証
30.
Copyright©2013 JPCERT/CC All
rights reserved.30 public final class CSRFTokenValidator { : public static void validate(HttpServletRequest request) throws CSRFTokenException { HttpSession session = request.getSession(); if (session.getAttribute(TOKEN_KEY) == null) { throw new CSRFTokenException("Session does not contain a CSRF security token"); } if (request.getParameter(TOKEN_KEY) == null) { throw new CSRFTokenException("Request does not contain a CSRF security token"); } if (!session.getAttribute(TOKEN_KEY).equals(request.getParameter(TOKEN_KEY))) { throw new CSRFTokenException("Validation of CSRF security token failed"); } } セッション変数とリクエストに含まれる トークンが同一であるかを検証 修正版コード ④ アプリケーションによるトークンの検証 CSRFTokenValidator .java リクエスト受信時にCSRFTokenValidatorクラスのvalidateメソッドが呼び出さ れ、トークンの検証を行う。(本クラスは修正版コードに追加されたもの)
31.
Copyright©2013 JPCERT/CC All
rights reserved. POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98 csrf_token = -5813750909365530134&submitted=true 修正版コード ⑤ アプリケーションがリクエストを受信し、処理を実行する 31 トークンの検証結果に応じて、機能実行とエラー処理のどちらかを行う POST /rhn/account/AccountDeactivationConfirm.do HTTP/1.1 : Host: www.example.com Content-Length: 14 Cookie: JSESSIONID=81099D8047CF94FEA3FB447C3C24AF98 ; pxt-session- cookie=29x6ad3ed33446e2669c5e60a4b3080713a submitted=true 機能の実行 アカウントの停止 通常の処理フロー (トークンの検証OK) ユーザのブラウザから 送信されるHTTPリクエスト 誘導 攻撃コード実行時の処理フロー (トークンの検証NG) HTML 実行!! 攻撃者のサイト HTTPリクエスト トークンが 含まれている トークンが 含まれていない トークン セッション オブジェクト 検証!! 検証!! トークン セッション オブジェクト
32.
Copyright©2013 JPCERT/CC All
rights reserved. まとめ 32 ■クロスサイトリクエストフォージェリ Spacewalk が用意したフォームからの入力と攻撃者が用意 したフォームからの入力を区別していなかった ■対策: トークンを使用することで、不正なフォー ムからの入力を検出できるようにする トークン使用時には以下の点を検討しておく必要がある 攻撃者に値を予測されることを防ぐ: 乱数を使って生成 総当たりで探索されることを防ぐ: 長い文字列長、大きな数値など ユーザと関連付ける トークンの有効期間を明確にする: 処理を受け付けたら無効にする, リクエス トが来なかったら60秒で無効にする、など
33.
Copyright©2013 JPCERT/CC All
rights reserved. 参考文献 ■ OWASP CSRFGuard Project https://www.owasp.org/index.php/Category:OWASP_CSRFGuard_Project ■ IPA ISEC セキュア・プログラミング講座: Webアプリケーション編 第4章 セッション対策:リクエスト強要(CSRF)対策 https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/301.html ■安全なウェブサイトの作り方、IPA https://www.ipa.go.jp/security/vuln/websecurity.html 33
34.
Copyright©2013 JPCERT/CC All
rights reserved. 著作権・引用や二次利用について 本資料の著作権はJPCERT/CCに帰属します。 本資料あるいはその一部を引用・転載・再配布する際は、引用元名、資料名および URL の明示を お願いします。 記載例 引用元:一般社団法人JPCERTコーディネーションセンター Java アプリケーション脆弱性事例解説資料 Spacewalk における CSRF の脆弱性 https://www.jpcert.or.jp/securecoding/2012/No.08_Spacewalk.pdf 本資料を引用・転載・再配布をする際は、引用先文書、時期、内容等の情報を、JPCERT コーディ ネーションセンター広報(office@jpcert.or.jp)までメールにてお知らせください。なお、この連絡 により取得した個人情報は、別途定めるJPCERT コーディネーションセンターの「プライバシーポ リシー」に則って取り扱います。 本資料の利用方法等に関するお問い合わせ JPCERTコーディネーションセンター 広報担当 E-mail:office@jpcert.or.jp 本資料の技術的な内容に関するお問い合わせ JPCERTコーディネーションセンター セキュアコーディング担当 E-mail:secure-coding@jpcert.or.jp 34
Jetzt herunterladen