2012-06-03 15 views
6

フォーム認証はASP.NETを使用しています。私は学校のプロジェクトのためのテストを行っています。私はLENS -ASP.NET PENETRATING TESTING TOOLを使用しています。結果では、私のアプリケーションがセッションの固定に脆弱である可能性があることがわかりました。これはどのように緩和されるのか誰にも分かりますか?セッションの固定 - フォーム認証

おかげ

答えて

11

セッション固定は、一人の人間が他の人のセッション識別子(SID)を固執する攻撃です。

攻撃は、攻撃者がWebサイトにアクセスして有効なセッションを確立することから始まります。アプリケーションがセッションIDを含むCookieを配信すると、攻撃者は既知の正常なセッションを修正またはロックインします。その後、攻撃者は被害者をこのセッションIDを使用して騙します。この時点で、攻撃者と被害者は同じセッションIDを共有します。この固定セッションに保存された情報は、被害者の意思決定や犠牲者のみが表示すべき情報の表示に使用され、潜在的に使用され、攻撃者が閲覧することができます。あなたはread more hereです。

この上の唯一の回避策は、任意の認証に成功後問題NEWセッションIDにASP.NETのためにそのようになり、被害者がログインすると、攻撃者がセッションへのアクセス何もありません。覚えておくべきもう一つのポイント:は、ユーザがログインするまでセッションをお届け決して

ASP.net Session.Abandon()に、覚えているが、この作業には十分ではない、それはユーザーのブラウザからセッションIDクッキーを削除するので、任意の新しいはありませんセッションが放棄された後、同じアプリケーションへのリクエストは、同じセッションIDと新しいセッション状態インスタンスを使用します。 As Microsoft states here。あなたは、セッション明確なセッションIDクッキーを放棄する必要があります。

Session.Abandon(); 
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); 

また、フォーム認証Cookieの名前を変更することをお勧めします、あなたのweb.configファイルに:ここ

<authentication mode="Forms"> 
    <forms name=".CookieName" loginUrl="LoginPage.aspx" /> 
</authentication> 

は良い記事ですSession Attacks and ASP.NETにあり、それを解決する方法。