2017-12-05 8 views
0

データベースサーバー(Oracle 11g)にデータを送信するための小さなアプリケーションを開発しました。セッションのハイジャック(Django 1.7.7およびpython3)

1. We have deployed django with https and all secure configurations like Secure Cookie and Secure Session, No Cache, etc. 
2. Using BURP tool for this sample review 
3. We have created two different user in this system say Normal User and Admin User 
4. Opened 2 browsers(Mozilla and IE 11), On mozilla we login with Admin user and captured session id using burp tool. 
5. On second browser we login with Normal user and replaced session id Normal User with Admin User. 
6. whoila......On second browser, I got Admin user access by just changing the session id 

私はこのアプリケーションにデフォルトのセッションバックエンドを使用しています。事前に

私は、これはジャンゴの欠陥とどのようにこの問題を解決するかどうかを知りたいのですが...

おかげで

+1

セキュリティが気になる方は、サポートされておらず、何年もパッチを受け取っていないバージョンのDjangoを使用しないでください –

答えて

0

それはジャンゴとの欠陥ではありません、それは使用しての固有のリスクのセッションがベース識別。セッションハイジャックと呼ばれ、その用語を検索すると多くの情報が得られます。

軽減策は、通常、トークンを盗むのをより困難にするか、または盗まれた場合に被害を少なくすることの2つの目標のうちの1つを持っています。前者のキャンプでは、HTTPSとSESSION_COOKIE_HTTPONLYを使用するような技術があります。後者には、有効なセッションの長さを制限するようなものがあります(SESSION_COOKIE_AGE)。しかし、結局のところ、誰かが自分のトークンを取得した場合、別のユーザーを偽装するのを止めることは難しく、不可能です。

関連する問題