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
410
Other Decks in Programming
See All in Programming
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
0
150
エンジニアに許された特別な時間の終わり
watany
83
71k
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
2
350
CSC486 Lecture 14
javiergs
PRO
0
110
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
920
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
170
Goで作るChrome Extensions / Fukuoka.go #21
n3xem
2
2.1k
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.2k
OUPC2024 Day 1 解説
kowerkoint
0
350
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
9
1.5k
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
370
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
140
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Your Own Lightsaber
phodgson
104
6.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
GitHub's CSS Performance
jonrohan
1030
460k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Writing Fast Ruby
sferik
628
61k
Optimizing for Happiness
mojombo
377
70k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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/