Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WebアプリをOWASP TOP 10に対応させよう / #shibuyaxss techta...
Search
hasegawayosuke
December 13, 2017
Programming
8
2.8k
WebアプリをOWASP TOP 10に対応させよう / #shibuyaxss techtalk #10
WebアプリをOWASP TOP 10に対応させよう / #shibuyaxss techtalk #10
hasegawayosuke
December 13, 2017
Tweet
Share
More Decks by hasegawayosuke
See All by hasegawayosuke
これからのフロントエンドセキュリティ
hasegawayosuke
36
14k
SSRF基礎
hasegawayosuke
25
14k
Node.jsセキュリティ
hasegawayosuke
14
5.2k
脆弱性診断を通じて見えてくるWebセキュリティ
hasegawayosuke
12
4.7k
プロキシーツールとかを使うときの小技
hasegawayosuke
11
3.2k
All Your REJECT Are Belong To Us - リジェクトする側から -
hasegawayosuke
4
2.6k
あなたのWebアプリケーション OWASP TOP 10に対応できていますか?
hasegawayosuke
0
380
Other Decks in Programming
See All in Programming
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
780
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
140
Spatial Rendering for Apple Vision Pro
warrenm
0
110
情報漏洩させないための設計
kubotak
3
300
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
340
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
140
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
130
Zoneless Testing
rainerhahnekamp
0
120
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
810
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
790
Jakarta EE meets AI
ivargrimstad
0
260
Featured
See All Featured
Facilitating Awesome Meetings
lara
50
6.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Docker and Python
trallard
42
3.1k
Bash Introduction
62gerente
608
210k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Documentation Writing (for coders)
carmenintech
66
4.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Making the Leap to Tech Lead
cromwellryan
133
9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Rails Girls Zürich Keynote
gr2m
94
13k
Transcript
Shibuya.XSS techtalk #10 2017-12-13 Yosuke HASEGAWA Webアプリを OWASP TOP 10に
対応させよう
OWASP TOP 10 - 2017 •2017版でました(RC1の段階で いろいろもめた) https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
OWASP TOP 10 - 2017 • A1 インジェクション • A2
認証の不備 • A3 機密データの露出 • A4 XML外部実体参照(XXE) • A5 アクセス制御の不備 • A6 セキュリティ設定のミス • A7 クロスサイトスクリプティング • A8 安全でないデシリアライゼーション • A9 既知の脆弱性を持つコンポーネントの使用 • A10 不十分なロギングおよび監視
Q. 御社のWebサイト/製品/サービスは OWASP TOP 10 対応してますか?
OWASP TOP 10対応 • 対応例 →
OWASP TOP 10対応 • 対応例 ↓
自分のWebアプリも OWASP TOP 10対応してみよう
「自分のWebアプリ」 is 何? • やられWebアプリその1 • やられWebアプリその2 • やられWebアプリその3 •
やられWebアプリその4 やられWeb アプリしか作ってない!
やられWebアプリの OWASP TOP 10対応をしよう
BadLibrary - 脆弱性の演習用やられWebアプリ http://bit.ly/BadLibrary
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
None
mail='
[email protected]
'
mail='
[email protected]
'
[email protected]
' (存在しない) ブラインドSQLi !
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
セッションIDが「1」 セッションIDの再発行を していない
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
None
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
None
None
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
None
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
None
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
None
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
A1 インジェクション SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発行 なし、httponlyなし A3 機密データの露出 問い合わせログが閲覧可能
A4 XML外部実体参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 セキュリティ設定のミス ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングおよび監視 ログを記録していない
BadLibrary - 脆弱性の演習用やられWebアプリ • 代表的な多種の脆弱性をそれなりに含む • OWASP TOP 10を(ほぼ)網羅 •
脆弱性の有無を簡単に切り替え可能 • 動かし続けてもそれなりに安全 http://bit.ly/BadLibrary
脆弱だけど安全 • お問い合わせログでディスクを消費する • 設定で無効にできる • XXEでサーバー上のファイルが漏洩する • 設定で無効にできる •
長期運用でメモリーリーク • セッションオブジェクトのメモリを解放していない…
Question ? @hasegawayosuke http://utf-8.jp/ securitytesting Slack team http://slackin.csrf.jp/