只想從知道的人那裏獲得輸入。我正在考慮CSRF漏洞,以及我知道與之抗衡的最流行的方法。該方法是在返回的html中創建一個令牌並添加一個具有相同值的cookie。所以如果一個腳本試圖做一個職位,他們將have to guess the token thats embedded in the web page
爲它成功。CSRF漏洞/ cookies問題
但是,如果他們針對特定的網站,爲什麼他們不能只用一個腳本,
- 調用頁面上的get(cookie將被退回即使腳本不能訪問它)
- 解析HTML並得到令牌
- 呼籲在它該令牌(即回來將被送回)
- 他們已經成功提交表單而不需用戶知識的cookie後
腳本不需要知道cookie的內容,它只是使用cookie始終來回發送的事實。
缺少什麼我在這裏?這不可能嗎?我認爲如果你仔細想想,這很可怕。
下面這一行不需要讀來回答這個問題:)
的事實是,認證是基於餅乾,我認爲這是主要的方式驗證當前正在發生做此漏洞的銀行。
我能想到的另一個解決方案是在頁面級別進行身份驗證。所以 當他們登錄返回的html時,會在其中包含該標記。他們點擊的每個鏈接都包含該令牌,因此當Web服務器收到請求時,它可以識別用戶/會話。問題在於,如果他們使用除此之外的任何導航,他們將是'未經驗證的'(例如,輸入一個url),但它在url中看起來不太好,因爲它可能看起來像這樣:
https://www.example.com/SuperSecretPage/1/123j4123jh12pf12g3g4j2h3g4b2k3jh4h5g55j3h3
但我明白,如果安全性更重要,那麼一個漂亮的URL是第二位的。
我不知道關於cookie的所有信息,但如果用戶代理對cookie更小心一點呢?
例如,如果cookie發送取決於標籤怎麼辦?我們現在都使用標籤衝浪,對吧?那麼如果cookie的範圍是標籤呢?所以如果我有我的銀行網站在標籤1上打開,並且我在標籤2上衝浪,任何腳本調用獲取/帖子 標籤2將只發送標籤2中產生的曲奇。
或者如果cookie被存儲/域。所以當我在example.com上時,任何返回到example.com cookie集合的cookie都會返回。然後當我在www.mybankingsite.com上時,所有的cookies都會被放入mybankingsite.com收藏。因此,如果我訪問example.com並運行調用get/post的腳本,用戶代理將僅發送example.com cookie。這與發送請求域的cookie不同。例如。如果腳本在example.com的網頁中調用mybankingsite.com的獲取,用戶代理將不會發送mybankingsite.com cookie。
我知道我在什麼用戶做代理無法控制,但我只是探索的可能性
好吧,你可以避免這種情況,只接受對該URL的Http後處理,但它確實打開了一個腳本可以訪問它的DOM的事實,並且如果一個元素可以從另一個站點獲取信息,那麼你可以被入侵 – Jose 2010-07-01 20:05:40