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
3.1k
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
26
15k
Node.jsセキュリティ
hasegawayosuke
14
5.4k
脆弱性診断を通じて見えてくるWebセキュリティ
hasegawayosuke
12
5k
プロキシーツールとかを使うときの小技
hasegawayosuke
11
3.5k
All Your REJECT Are Belong To Us - リジェクトする側から -
hasegawayosuke
4
2.7k
あなたのWebアプリケーション OWASP TOP 10に対応できていますか?
hasegawayosuke
0
520
Other Decks in Programming
See All in Programming
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
AI巻き込み型コードレビューのススメ
nealle
1
160
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
CSC307 Lecture 08
javiergs
PRO
0
670
Architectural Extensions
denyspoltorak
0
280
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
430
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.1k
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
170
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
110
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
Implementation Patterns
denyspoltorak
0
280
Featured
See All Featured
Music & Morning Musume
bryan
47
7.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Deep Space Network (abreviated)
tonyrice
0
47
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Technical Leadership for Architectural Decision Making
baasie
1
240
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Unsuck your backbone
ammeep
671
58k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
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/