Security-testing-testing-broken-authentication

提供:Dev Guides
移動先:案内検索

壊れた認証のテスト

アプリケーションに関連する認証機能が正しく実装されていない場合、ハッカーはパスワードやセッションIDを侵害したり、他のユーザーの資格情報を使用して他の実装の欠陥を悪用したりできます。

単純な図を使用して、この欠陥の脅威エージェント、攻撃ベクトル、セキュリティの弱さ、技術的影響、ビジネスへの影響を理解しましょう。

2。壊れた認証とセッション管理の欠陥

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

サイトの認証されたユーザーは、URLを友人に転送して、割引販売について知らせます。 彼は、ユーザーがセッションIDも提供していることを知らずに、上記のリンクを電子メールで送信します。 彼の友人がリンクを使用するとき、彼らは彼のセッションとクレジットカードを使用します。

ハンズオン

  • ステップ1 *-Webgoatにログインし、「セッション管理の欠陥」セクションに移動します。 Cookieをスプーフィングして、認証をバイパスしましょう。 以下は、シナリオのスナップショットです。

2。壊れた認証とセッション管理の欠陥

  • ステップ2 *-資格情報webgoat/webgoatを使用してログインすると、Burp SuiteからJSESSION IDがC8F3177CCAFF380441ABF71090748F2Eであり、認証が成功するとAuthCookie = 65432ubphcf​​xであることがわかります。

2。壊れた認証とセッション管理の欠陥

2。壊れた認証とセッション管理の欠陥

  • ステップ3 *-クレデンシャルアスペクト/アスペクトを使用してログインすると、Burp SuiteからJSESSION IDがC8F3177CCAFF380441ABF71090748F2Eであり、認証が成功するとAuthCookie = 65432udfqtbであることがわかります。

2。壊れた認証とセッション管理の欠陥

  • ステップ4 *-次に、AuthCookieパターンを分析する必要があります。 前半の「65432」は両方の認証に共通です。 そのため、webgoatユーザーの場合はubphcf​​x、アスペクトユーザーの場合はudfqtbなど、authcookie値の最後の部分を分析することに興味があります。
  • ステップ5 *-AuthCookie値を詳しく見ると、最後の部分はユーザー名と同じ長さです。 したがって、ユーザー名が何らかの暗号化方式で使用されていることは明らかです。 試行錯誤/総当たりのメカニズムでは、ユーザー名webgoatを逆にした後、最終的にtaogbewになり、その前のアルファベット文字がAuthCookieとして使用されます。 つまり、ubphcf​​x。
  • ステップ6 *-このCookie値を渡して、何が起こるか見てみましょう。 ユーザーwebgoatとして認証したら、ステップ#4とステップ#5を実行して、AuthCookieの値を変更し、ユーザーAliceのモックを作成します。

2。壊れた認証とセッション管理の欠陥

2。壊れた認証とセッション管理の欠陥

防止メカニズム

  • OWASPのアプリケーションセキュリティ検証標準で定義されているすべての認証およびセッション管理要件を満たすように、強力な認証およびセッション管理コントロールを開発します。
  • 開発者は、セッションIDを盗むために使用できるXSSの欠陥を回避する必要があります。