簡體   English   中英

Javascript 劫持,我應該擔心什么時候以及擔心多少?

[英]Javascript hijacking, when and how much should I worry?

好的,所以我正在開發一個 web 應用程序,它已經開始變得更加 ajaxified。 然后我閱讀了一篇關於javascript 劫持的博客,我對它何時真正成為問題感到有點困惑。 我想澄清一下

問題 1:這是問題/漏洞嗎?

如果我的網站返回 json 數據並帶有包含敏感信息的“GET”請求,那么該信息可能會落入壞人之手。

我使用 ASP.NET MVC 和返回 JSON 的方法要求您明確允許 json 獲取請求。 我猜他們正試圖從這個安全漏洞中拯救沒有經驗的人。

問題 2:劫持是通過嗅探/讀取通過 Internet 發送的響應而發生的嗎? SSL 是否緩解了該攻擊?

問題3:這導致我問自己這個問題。 如果我將頁面 state 存儲在頁面的本地 javascript 對象中,有人可以劫持該數據(登錄用戶除外)嗎?

問題 4:我可以通過僅返回帶有“POST”請求的 JSON 來安全地緩解漏洞嗎?

您鏈接到的帖子正在談論 CSRF 和 XSS(請參閱我對問題的評論),因此在這種情況下:

這是問題/漏洞(“如果我的網站返回 json 數據並帶有包含敏感信息的 'GET' 請求,那么該信息可能會落入壞人之手。”)?

不。

劫持是否通過嗅探/讀取通過互聯網發送的響應而發生?

不。

如果我將頁面 state 存儲在頁面的本地 javascript 對象中,有人可以劫持該數據(登錄用戶除外)嗎?

這取決於。 這取決於您是否將數據存儲在 cookies 中並且沒有設置正確的域或路徑。 這取決於客戶端瀏覽器上是否存在允許腳本訪問通常受限制的數據的安全漏洞。 還有許多其他的攻擊媒介,並且一直在發現新的攻擊媒介。 總而言之:不要相信瀏覽器有任何機密或安全數據。

我可以通過僅返回帶有“POST”請求的 JSON 來安全地緩解漏洞嗎?

不(這不是一個漏洞,它是一組漏洞類別)。

好吧,您可以檢查是否有獲取以及獲取是否來自正確的推薦人。

從 POST 中獲取它並不會更安全,因為它很容易模擬。

一般來說,您可以做很多事情來防止跨站點偽造和操縱。

真正的漏洞是能夠覆蓋Array

如果一個人覆蓋了本機數組,那么一個人就可以訪問構造為一個數組的 JSON 數據。

此漏洞已在所有主要瀏覽器中修復。

只有當您的客戶使用不安全的瀏覽器時,您才應該擔心這一點。

例子:

window.Array = function() {
  console.log(arguments);
  // send to secret server
}

...

$.get(url, function(data) { ... });

構造data時,如果返回的 JSON 中有任何 arrays,瀏覽器將調用window.Array ,然后該數組中的數據將發送到秘密服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM