瀏覽器中的跨域資源請求

瀏覽器中的跨域資源請求

同源策略-是針對瀏覽器所設計的一項安全規定,頁面中所渲染的資源(JavaScript腳本除外)都須要符合同源策略纔可以正常訪問。html

在構建 Web 項目或者進行 XSS 攻擊時,經常須要進行跨域資源訪問。設想這樣一個場景:攻擊者 Attacker 在網站 A 上注入了一段惡意 JS 代碼,用來盜取訪問者的瀏覽器、Cookie、IP 等信息,並經過 ajax 請求將這些信息以參數的形式(GET、POST 皆可)發送至攻擊者事先準備好的服務站 B 上。若按同源策略規定,在網站 A 上不能直接請求或者發送數據至網站 B,那麼這裏就要用到一些跨域資源請求的方法。html5

經過總結已公開的跨域方法並結合本身的理解和實踐,將幾種跨域資源請求的方法經過實例 Demo 的形式詳細記錄以下。web

網站 A 要獲取網站 B 上的資源內容,跨域方法分爲 網站 B 可控 和 網站 B 不可控 兩類(可控指能更改 Web 服務器設置或者頁面內容)。ajax

網站 B 可控的跨域方法:

  1. 同主域名下iframe控制document.domain進行跨域
  2. iframe集合location.hash進行跨域數據獲取
  3. 經過iframe.name跨域傳遞數據
  4. 將數據經過 JS 進行直接加載
  5. html5中的postMessage
  6. 利用 CORS 進行跨域

網站 B 不可控的跨域方法:

  1. 代理服務(Proxy)

源地址:http://rickgray.me/2015/09/03/solutions-to-cross-domain-in-browser.html跨域

 

 

 

 

 

 

 

瀏覽器中的跨域資源請求

同源策略-是針對瀏覽器所設計的一項安全規定,頁面中所渲染的資源(JavaScript腳本除外)都須要符合同源策略纔可以正常訪問。瀏覽器

在構建 Web 項目或者進行 XSS 攻擊時,經常須要進行跨域資源訪問。設想這樣一個場景:攻擊者 Attacker 在網站 A 上注入了一段惡意 JS 代碼,用來盜取訪問者的瀏覽器、Cookie、IP 等信息,並經過 ajax 請求將這些信息以參數的形式(GET、POST 皆可)發送至攻擊者事先準備好的服務站 B 上。若按同源策略規定,在網站 A 上不能直接請求或者發送數據至網站 B,那麼這裏就要用到一些跨域資源請求的方法。安全

經過總結已公開的跨域方法並結合本身的理解和實踐,將幾種跨域資源請求的方法經過實例 Demo 的形式詳細記錄以下。服務器

網站 A 要獲取網站 B 上的資源內容,跨域方法分爲 網站 B 可控 和 網站 B 不可控 兩類(可控指能更改 Web 服務器設置或者頁面內容)。dom

網站 B 可控的跨域方法:

  1. 同主域名下iframe控制document.domain進行跨域
  2. iframe集合location.hash進行跨域數據獲取
  3. 經過iframe.name跨域傳遞數據
  4. 將數據經過 JS 進行直接加載
  5. html5中的postMessage
  6. 利用 CORS 進行跨域

網站 B 不可控的跨域方法:

  1. 代理服務(Proxy)
相關文章
相關標籤/搜索