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.9k
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
420
Other Decks in Programming
See All in Programming
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
110
The Implementations of Advanced LR Parser Algorithm
junk0612
1
1.3k
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
200
flutter_kaigi_mini_4.pdf
nobu74658
0
140
Cursor/Devin全社導入の理想と現実
saitoryc
28
21k
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
230
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
7
3.3k
Ruby's Line Breaks
yui_knk
4
2.8k
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
150
RubyKaigi Dev Meeting 2025
tenderlove
1
1.3k
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
370
note の Elasticsearch 更新系を支える技術
tchov
9
3.4k
Featured
See All Featured
Visualization
eitanlees
146
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
690
Speed Design
sergeychernyshev
29
920
Building a Scalable Design System with Sketch
lauravandoore
462
33k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
179
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Embracing the Ebb and Flow
colly
85
4.7k
GitHub's CSS Performance
jonrohan
1031
460k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Site-Speed That Sticks
csswizardry
6
530
BBQ
matthewcrist
88
9.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
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/