Web Vulnerabilities Methodology
すべてのWebペンテストには、脆弱性が存在する可能性のある隠れた場所と明らかな場所がいくつかあります。この投稿は、すべての可能な場所で脆弱性を検索したことを確認するためのチェックリストを目的としています。
Proxies
現在、Web アプリケーションは通常、何らかの仲介 プロキシを使用しています。これらは脆弱性を悪用するために(悪用されることもあります)。これらの脆弱性には、脆弱なプロキシが必要ですが、通常はバックエンドに追加の脆弱性も必要です。
ユーザー入力
ほとんどのWebアプリケーションは、ユーザーが後で処理されるデータを入力することを許可します。 データの構造によって、サーバーが期待する脆弱性が適用される場合とされない場合があります。
反映された値
入力されたデータが何らかの形で応答に反映される場合、ページはさまざまな問題に対して脆弱である可能性があります。
上記の脆弱性のいくつかは特別な条件を必要とし、他のものは単にコンテンツが反映されることを必要とします。脆弱性を迅速にテストするための興味深いポリグロットを見つけることができます:
Reflecting Techniques - PoCs and Polygloths CheatSheet検索機能
機能がバックエンド内のデータを検索するために使用される場合、任意のデータを検索するために(悪用)できるかもしれません。
フォーム、WebSockets、PostMsgs
WebSocketがメッセージを投稿したり、ユーザーがアクションを実行できるフォームがある場合、脆弱性が発生する可能性があります。
HTTPヘッダー
Webサーバーから提供されるHTTPヘッダーによって、いくつかの脆弱性が存在する可能性があります。
バイパス
特定の機能には、バイパスするために役立ついくつかの回避策があります。
構造化されたオブジェクト/特定の機能
一部の機能は、データが非常に特定の形式で構造化されることを必要とします(言語シリアライズオブジェクトやXMLのように)。したがって、その種のデータを処理する必要があるため、アプリケーションが脆弱であるかどうかを特定しやすくなります。 一部の特定の機能も、特定の形式の入力が使用される場合に脆弱である可能性があります(メールヘッダーインジェクションのように)。
ファイル
ファイルのアップロードを許可する機能は、いくつかの問題に対して脆弱である可能性があります。 ユーザー入力を含むファイルを生成する機能は、予期しないコードを実行する可能性があります。 ユーザーがアップロードしたファイルや、ユーザー入力を含む自動生成されたファイルを開くと、危険にさらされる可能性があります。
外部アイデンティティ管理
その他の役立つ脆弱性
これらの脆弱性は、他の脆弱性を悪用するのに役立つ可能性があります。
Last updated