WebアプリをOWASP TOP 10に対応させよう / #shibuyaxss techtalk #10
Shibuya.XSS techtalk #102017-12-13 Yosuke HASEGAWAWebアプリをOWASP TOP 10に対応させよう
View Slide
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) XXEA5 アクセス制御の不備 管理画面が誰でもアクセス可能A6 セキュリティ設定のミス ディレクトリリスティングA7 クロスサイトスクリプティング 反射型XSS、DOM-based XSSA8 安全でないデシリアライゼーション ―A9 既知の脆弱性を持つコンポーネントの使用 ―A10 不十分なロギングおよび監視 ログを記録していない
mail='[email protected]'
mail='[email protected]'[email protected]' (存在しない)ブラインドSQLi !
セッションIDが「1」セッションIDの再発行をしていない
BadLibrary - 脆弱性の演習用やられWebアプリ• 代表的な多種の脆弱性をそれなりに含む• OWASP TOP 10を(ほぼ)網羅• 脆弱性の有無を簡単に切り替え可能• 動かし続けてもそれなりに安全http://bit.ly/BadLibrary
脆弱だけど安全• お問い合わせログでディスクを消費する• 設定で無効にできる• XXEでサーバー上のファイルが漏洩する• 設定で無効にできる• 長期運用でメモリーリーク• セッションオブジェクトのメモリを解放していない…
Question ?@hasegawayosukehttp://utf-8.jp/securitytesting Slack teamhttp://slackin.csrf.jp/