我們都知道cookie 是有域的限制的,要想得到baidu.com 這個 域的cookie ,那麼自己的域名必須在 baidu.com 或者 baidu.com之下,比如 xxx.baidu.com.
利用 hosts 可以很方便的把一個ip 映射一個本地的域名,
如果我們這樣
當我們訪問 auth.suning.com 的時候,實際上就是在訪問 192.168.1.2,並且瀏覽器的請求結果域名也是auth.suning.com 而不是192.168.1.2 ,這個時候,瀏覽器已經相信我訪問的auth.suning.com 和 192.168.1.2沒有一點關係
這時候,我們在 192.168.1.2 下,部署一臺web服務器,其中響應的html中,用js 修改 他的父域名 suning.com 的cookie,這時候,瀏覽器已經認爲當所在域就是 auth.suning.com ,而 auth.suning.com 域 修改和獲取 suning.com 域下的cookie,是完全可以的
寫一個請求,返回頁面執行js
其中把suning.com下的_cp_dt值修改爲13462627296888
我們用配置的域名打開這個頁面
點擊按鈕,修改cookie
在到真實域名下查看cookie
已經被修改了
然後就是安卓端的跨域修改cookie
安卓手機不能修改hosts文件,需要root,如果已經破解的手機,直接配置hosts文件,ip問服務器的ip,應該也是可以的
如果不能修改hosts文件,就需要用到http代理服務器,有了代理服務器,手機不在直接找配置在手機的hosts文件的IP地址,所有的請求,都要經過http代理服務器,如果代理服務器能找到配置的hosts文件,那和在手機上修改是一樣的
接口測試工具 postman 有http代理的功能
在手機火狐瀏覽器打開
http://auth.suning.com:8071/cookie/setCookie
點擊按鈕設置cookie
在火狐瀏覽器安裝Cookie Quick Manager 插件
查看cookie
suning.com 域的_cp_dt cookie 值 已經被設置成 13462627296888 了