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.3k
脆弱性診断を通じて見えてくるWebセキュリティ
hasegawayosuke
12
4.8k
プロキシーツールとかを使うときの小技
hasegawayosuke
11
3.3k
All Your REJECT Are Belong To Us - リジェクトする側から -
hasegawayosuke
4
2.7k
あなたのWebアプリケーション OWASP TOP 10に対応できていますか?
hasegawayosuke
0
400
Other Decks in Programming
See All in Programming
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
120
CloudNativePGを布教したい
nnaka2992
0
110
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
680
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
910
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
200
Datadog Workflow Automation で圧倒的価値提供
showwin
1
180
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
210
PRレビューのお供にDanger
stoticdev
1
230
React 19アップデートのために必要なこと
uhyo
8
1.5k
Better Code Design in PHP
afilina
0
170
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
Code Reviewing Like a Champion
maltzj
521
39k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Documentation Writing (for coders)
carmenintech
67
4.6k
It's Worth the Effort
3n
184
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Being A Developer After 40
akosma
89
590k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Practical Orchestrator
shlominoach
186
10k
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='chiba@example.jp'
mail='chiba@example.jp' mail=nouser@example.jp' (存在しない) ブラインド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/