Skip to Content
ウェブアプリケーションセキュリティ 第2版
book

ウェブアプリケーションセキュリティ 第2版

by Andrew Hoffman
March 2025
Intermediate to advanced
444 pages
6h 9m
Japanese
O'Reilly Media, Inc.
Audio summary available
Content preview from ウェブアプリケーションセキュリティ 第2版

第7章. アプリケーションアーキテクチャの弱い点を特定する

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

これまで、ウェブアプリケーション内のコンポーネントを特定し、ウェブアプリケーション内の API の形状を決定し、ウェブアプリケーションがユーザのウェブブラウザとどのように対話することを期待しているかを学習するための、 テクニックをいくつか議論してきた。各テクニックはそれ自体で価値がありますが、それらから収集された情報が組織的な方法で組み合わされるとき、さら に多くの価値を得ることができます。

理想的なのは、先に提案したように、再調査のプロセスを通じて何らかのメモをとっておくことだ。ウェブアプリケーションの中には、その機能のすべてを探索するのに何ヶ月もかかるような拡張性を持つものがあるため、あなたの調査について適切な ドキュメントを作成することは不可欠である。偵察中に作成するドキュメントの量は、最終的にはあなた(テスター、ハッカー、趣味、エンジニアなど)次第であり、正しく優先順位をつけなければ、多ければ多いほど価値があるとは限らない。

テストするアプリケーションごとに、よく整理されたノートのセットを作成するのが理想的だ。これらのノートは、以下をカバーするものでなければならない:

  • ウェブアプリケーションで使用されている技術

  • HTTP動詞別APIエンドポイントリスト

  • APIエンドポイントの形状のリスト(利用可能な場合)

  • ウェブアプリケーションに含まれる関数(コメント、認証、通知など)

  • ウェブアプリケーションが使用するドメイン

  • 発見されたコンフィギュレーション(コンテンツ・セキュリティ・ポリシー[CSP]など)

  • 認証/セッション管理システム

このリストを作成し終えたら、アプリケーションをハッキングしようとしたり、脆弱性を発見しようとしたりする場合に、優先順位をつけるために使うことができる。

一般に信じられていることに反して、ウェブ・アプリケーションの脆弱性のほとんどは、不適切に書かれたメソッドからではなく、 不適切に設計されたアプリケーション・アーキテクチャから生じている。確かに、ユーザが提供した HTML を直接 DOM に書き込むメソッドは間違いなく危険であり、ユーザがスクリプトをアップロードし(適切 なサニタイズが存在しない場合)、そのスクリプトを他のユーザのマシンで実行する(XSS)ことを許してしまうかもしれません。

しかし、世の中には何十もの XSS 脆弱性を持つアプリケーションがある一方で、同じ業界の他の同規模のアプリケーションはほぼゼロだ。結局のところ、アプリケーションのアーキテクチャと、そのアプリケーション内のモジュール/依存関係のアーキテクチャは、脆弱性 が発生する可能性のある脆弱点の素晴らしい指標となる。

安全なアーキテクチャ信号と安全でないアーキテクチャ信号の比較

が先に述べたように、単一のXSS脆弱性は、お粗末なメソッドの結果かもしれない。しかし、複数の脆弱性は、おそらくアプリケーションのアーキテクチャが脆弱であることの表れである。

ユーザが他のユーザにダイレクトメッセージ(テキスト)を送信できる2つの単純なアプリケーションを想像してみよう。これらのアプリケーションの一方は XSS に対して脆弱であり、もう一方は脆弱ではない。

安全でないアプリケーションは、APIエンドポイントにコメントを格納する要求が行われたときにスクリプトを拒否しないかもしれない。データベースはスクリプトを拒否しないかもしれないし、メッセージを表す文字列に対して適切なフィルタリングとサニタイズを実行しないかもしれない。最終的に、スクリプトはDOMにロードされ、DOM ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ハイパーモダンPython ―信頼性の高いワークフローを構築するモダンテクニック

ハイパーモダンPython ―信頼性の高いワークフローを構築するモダンテクニック

Claudio Jolowicz, 嶋田 健志, 鈴木 駿
Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps

John Arundel, Justin Domingus, 須田 一輝, 渡邉 了介
流暢なReact

流暢なReact

Tejas Kumar

Publisher Resources

ISBN: 9798341627505