目錄
Cookie的Httponly屬性和逃過方式
瀏覽器同源機制
cors跨域和jsonp跨域和跨域標簽
Cors跨域 - 跨源
Jsonp 跨域
jsonp跨域原理:
說明:
Cookie的Httponly屬性和逃過方式
-
Xss攻擊手段 最常用的目的獲取cookie
Cookie中設置了 httponly=True 方式js操作獲取cookie
Httponly 設置完成后是document.cookie 是拿不到這個cookie的
Httponly 不是方式xss攻擊的 而是防止xss攻擊代碼中的js代碼在瀏覽器獲取cookie信息
登陸網站 cookie登陸 用戶名密碼登陸
- 表單劫持
- 網站劫持
- 登陸頁面有xss漏洞 最好是存儲類型的
- 獲取瀏覽器的保存的密碼 xss攻擊行為
瀏覽器同源機制
-
請求可以過去 響應也可以過去 但是數據不能回去
-
為了避免惡意請求別人的網站的情況,瀏覽器出了一個同源機制
-
- IP地址 域名都是不一樣的唯一的
- 頁面數據如果沒有安全機制,是可以拿別人的數據進行操作。
- 協議
- 域名或者叫主機名或者IP
- 端口
-
相同的頁面之間是可以互相請求并正常拿到響應數據
瀏覽器不會做響應數據的攔截 防止惡意請求別人的數據
同源機制
-
實例演示:
非同源網站 script scr 不受同源機制的影響
--- 瀏覽器認為靜態文件是安全的
--- 靜態資源直接不受影響
cors跨域和jsonp跨域和跨域標簽
- 繞過同源機制 進行數據交互 跨域
- 同源機制 會影響網站之間的數據交互 繞過同源機制
- 那么這個時候我們需要跨域
Cors跨域 - 跨源
- 同源一般限制的都是ajax請求
- 瀏覽器一端加了 跨域這段代碼就是運行所有網站來請求服務端提供的數據。
Jsonp 跨域
-
jsonp其實并沒有用到什么黑魔法,能達到跨域這種效果
-
無非是利用script標簽自身的跨域能力。
-
- 我們知道,img,script,這種標簽如果有相應的src
- 那么便會發起一個htttp請求來請求相應的資源
- 如果有script標簽對應的路徑是一個js文件
- 那么在下載完畢這個js之后會馬上執行
jsonp跨域原理:
首先聲明一個js函數,這是我們的回調函數,比如函數名稱為jaden
再基于script標簽的src屬性的跨域特性來發送網絡請求。
攜帶一個回調函數參數,函數名稱為我們聲明的jaden,服務端響應回了
jaden('數據'),那么我們自己聲明的jaden函數就拿到了服務端的響應數據。
-
說明:
- jsonp 基于script標簽的src屬性發送請求
- 攜帶一個回調函數名稱
- 服務端調用這個函數響應數據
- 響應回來之后回調js中聲明的這個函數
示例
-
釣魚的時候用 同源跨域釣魚
-
網頁跨碼