2009-06-03 11 views
2

すべてのクッキーを受け入れることができない限り、私がログインできない銀行口座があります。私はFirefox 3.0を使用しており、定義済みのリスト(ツール - オプション - プライバシー - Cookies - 例外)以外のCookieを受け付けないように設定しています。 Live HTTPヘッダーでキャプチャされたすべてのサイトをホワイトリストに追加しましたが、ログインはまだ無効です。私はすべてのクッキーとログインを有効にしようとしました、そして、私が得たクッキーを見てください - 新しいサイトが例外リストに追加されるのを見ませんでした。明らかに、サイトは何らかの形で、私が任意のクッキーを受け入れるかどうかをチェックしています。どのサイトをホワイトリストに登録する必要があるのですか?あるいは、私はクッキーについて何かを理解していないのですが、すべてのクッキーを受け入れることは、すべての適切なサイトをホワイトリストに入れることとは何とか同じではありませんか?クッキーホワイトリストに追加するサイトを特定するにはどうすればよいですか?

サイトはhttps://www.citizensbank.ca/です。ログインフィールドはCookieが許可されている場合にのみ表示され、それ以外の場合は「オンラインバンキングにログインするにはJavaScriptとCookieを有効にする必要があります」というメッセージが表示されます。

+0

これは本当にスーパーユーザに属します。 – Zifre

+0

私はこれを「パワーユーザー」の問題ではなく「リバースエンジニアリング」の問題として分類します。多分、三部作はprequel-denialofservice.com(ハッカーのために)を必要とするでしょう。彼らのサポートは、投稿された「要件」を参照して回答を提供することを拒否したので、それは良い選択でした。その1つはすべてのCookieを許可することです。 – ultracrepidarian

+0

@名人、あなたの銀行のJSコードを詳しく見てみると、ホワイトリストは機能しません。詳細については、私のアップデートを参照してください。 – paxdiablo

答えて

3

自分で別のマシン(またはVMWareイメージ)を取得し、すべてのCookieを削除し、すべてのサイトのすべてのCookieを許可してから、サイトにアクセスしてログインします(すでに試したことに似ています)。

その後、銀行セッションが終了した後(またはテストのために短命のクッキーを有効にしている場合)、クッキージャーを見て、銀行が何を追加したかを確認してください。それは実際のマシンに追加する必要のあるドメインを示すはずです。

それでも解決しない場合は、銀行に連絡して問題を説明してください。彼らは、あなたが許可する必要があるものを教えたり、それらをすべて許可するように指示したりします。後者の場合は、銀行として維持する価値があるかどうかを判断する必要があります。

また、次のいずれかを実行できますVMは、あなたがあなたのメインのボックスに表示されたすべてのクッキーをしたくない場合は、銀行にアクセスするためのサンドボックスとして設定

  • 使用。
  • FFシャットダウン後にホワイトリストに登録されていないCookieをすべて削除するスクリプトを設定します。
  • クッキーについて心配するのをやめ、ただ許可します(私はクッキーが攻撃ベクトルとして使用されていると聞いたことはありません)。

あなたのアカウントの詳細(ユーザー/パスワード)を私に送ってください。私はここからデバッグできるかどうかを確認します:-)ちょうど冗談です。

更新:

あなたの銀行が要件を確認する特に非道な方法があります。彼らはあなたがすべてのクッキーを受け入れているかどうかを確認します。クッキーを作成してそれを読み取ることができるかどうかを確認するだけで、クッキーマネージャーと互換性があります。

彼らが持っているコードは次のとおりです。

function testCookie() { 
    if (typeof navigator.cookieEnabled !== "undefined") { 
     return !!navigator.cookieEnabled; 
    } else{ 
     document.cookie="testcookie"; 
     return document.cookie.indexOf("testcookie")!=-1; 
    } 
} 
if(!testCookie()){ 
    var browserWarningString = ''; 
    browserWarningString += '<div class="warning">'; 
    browserWarningString += '<p>To login to online banking, you must have 
     JavaScript and cookies enabled.</p>'; 
    browserWarningString += '</div>\n'; 
    document.getElementById("loginAuth").innerHTML = browserWarningString; 
} 

それはtestCookie()の最初のビット、問題があるreturn !!navigator.cookieEnabledビットです。ホワイトリストURLの量は、cookieEnabledがtrueに設定されている(これはあなたのためではありませんが、そうでなければ)ことが確認された後にのみ役立ちます。

理想的には、そのtestCookie()機能を置き換えられるHTMLに置き換えることができます。

別の銀行の同じ問題について話している同様のサイトを見つけました(銀行には脳死のJavascriptの子供たちがいます)。hereと2つの提案された解決策があります。

最初にGreaseMonkeyをインストールし、このスクリプトhereを使用しました。明らかに、これは銀行のために変更する必要があります(URL、関数名など)。

上記の最初のリンクの最後の投稿(現時点では、「afternoonnap、2009年2月15日10時10分」を参照)は、NoScriptを使用して同じ結果を達成する方法も示しています。これには、cookieEnabledスクリプト(その特定のページ)をより合理的なものに置き換えることが含まれますが、私はたぶんそれを"return true"に置き換えて、結果をハングアップします:-)。

多少役に立ったと思っています。

リンクが完全に消えてしまった場合は、ここで2つのスクリプトを取り上げます。 GreaseMonkey 1がに沸く:

[email protected]*.tdcanadatrust.com 

noscript.surrogate.nce.replacement=navigator.__defineGetter__(
    "cookieEnabled",function(){ 
     var ed=new Date; 
     ed.setTime(0); 
     var tc="__noscriptTestCookie_"+Math.round((Math.random()*99999)) 
      .toString(16)+"=1"; 
     document.cookie=tc; 
     var ok=document.cookie.indexOf(tc)>-1; 
     document.cookie=tc+";expires="+ed.toGMTString(); 
     return ok 
    } 
); 

テストおよび更新:

// ==UserScript== 
// @name   TD Canada Trust EasyWeb Repair 
// @namespace  tag:GossamerGremlin,2007-04-28:Repair 
// @description Repair TD Canada Trust EasyWeb website. 
// @include  https://easyweb*.tdcanadatrust.com/* 
// @exclude  
// ==/UserScript== 

var scriptName = "TD Canada Trust EasyWeb Repair"; 

// The above @include pattern is overbroad because it exposes this 
// user script to potential attacks from URLs such as this: 
// https://easyweb.evil.example.com/not.tdcanadatrust.com/bad.html 
// The following check eliminates such possibilities: 
if (location.href.match(/^https:\/\/easyweb\d\d[a-z].tdcanadatrust.com\//)) 
{ 
    // Visibly mark page to remind that this script is in use. 
    if (document.body) 
    { 
     host = document.location.host; 
     dummyDiv = document.createElement('div'); 
     dummyDiv.innerHTML = '<div><span style="color: red">Greased by: ' + 
          scriptName + ' (' + host + ')</span></div>'; 
     document.body.insertBefore(dummyDiv.firstChild, 
      document.body.firstChild); 
    } 
    unsafeWindow.navigator.__defineGetter__("cookieEnabled", 
     canStoreCookieFixed); 
} 

 

// canStoreCookieFixed() 
// TD's version relies on navigator.cookieEnabled, which is not set 
// if customer has cookie manager, even when cookies are allowed for 
// EasyWeb. The only reliable check for enabled cookies is to actually 
// test if session cookie settings succeed, as done in this function 
// replacement. 
function canStoreCookieFixed() 
{ 
    var testSessionCookie ="testSessionCookie=Enabled"; 
    document.cookie = testSessionCookie; 
    return (document.cookie.indexOf(testSessionCookie) != -1); 
} 

NoScriptのバージョンは ":設定についてに以下を追加します" に沸きます:

インストールするとスクリプトとログインプロンプトがあなたの銀行のために現れ、次about:configの項目を追加し、FF3で完全にクッキーをオフにするので、私はこれはおそらく行くための方法だと思います:

noscript.surrogate.nce.sources  = *.citizensbank.ca 
noscript.surrogate.nce.replacement = 
    navigator.__defineGetter__("cookieEnabled",function(){return true}); 

私はあなたがこのおよびテストを行う示唆それでもあなたのすべての機能が確実に保持されていることを確認してください。

+0

私はすべてのクッキーを削除し、すべてのクッキーを削除し、ページをリフレッシュしました(Ctrl-F5) - ログインフィールドが表示されました(これは誰でも繰り返しできます。アカウントの詳細を知る必要はありません)ユーザー名/パスワードを入力するか、Cookieを有効にするようメッセージが表示されます)。クッキージャーを見て、すべてのドメインをホワイトリストに追加し、すべてのクッキーを受け入れずにページを更新しました。フィールドは消えました。 銀行に連絡し、すべてのクッキーを有効にするように言われました。私はクッキーに関するアカウントを閉じるつもりはない。私はちょうど怒っているし、私はそれを自分の道にしたい。 – ultracrepidarian

+0

私は知っている方法を試しました。これまでのところ、クッキーホワイトリストを維持するための方法がありましたが、今回は動作しません。 ホワイトリストに必要なサイトを見つける良い方法があるかどうか尋ねることにしました。または、誰かが、私がすべてのクッキーを許可しているかどうかをサイトがチェックする方法があり、ホワイトリストがそのようなサイトをだますことができないことを教えてもらえれば。 本当に、私が求めているのはそれだけです。私はどのようにクッキーを許可しなければならないのかを明確に知る方法を知りたい。これは、彼自身の利益のためにあまりにも多くを知っているいくつかの愚かな "パワーユーザー"についてではありません。それ以上の回避策は提案しないでください。 – ultracrepidarian

+0

@nameanyone、私の更新で言及したように、ホワイトリストはあなたの銀行のJSコードを助けません。 Cookieを作成しようとする前にグローバルcookieEnabledフラグが設定されていることを確認します。脳死IMNSHOしかし、あなたはそれを持っています。可能な唯一の修正点は、コードを何かに置き換えることです:-)つまり、特定のサイトのCookieEnabledの定義を参考にしています。 – paxdiablo

0

登録したベースドメインを追加する必要があります。そのため、www.citizensbank.caが機能するはずです。また、ログオン中にクッキーを許可し、完了したらctl + shift + delを押すこともできます。

+0

私が言及したように、私はcitizensbank.caとLive HTTPヘッダーによって報告された2つの他のサイトを追加しましたが、動作しません。あなたの他の提案をありがとうございますが、私の目標は「何に関係なくサイトにログインする」または「すべてのクッキーをクリアする」ではありません。 – ultracrepidarian

0

別のオプション - 別のブラウザを使用してプロセスを開始します。たとえば、通常Firefoxを使用している場合は、代わりにSafari、Opera、Chrome、またはMSIEを試してみてください。通常のブラウザからクッキーをインポートしないでください。次に、Webサイトを稼動させるために必要なことを調べます。

関連する問題