如何hook sessionStorage的setItem getItem
问答交流
2125 人阅读
|
2 人回复
|
2020-06-12
|
问题描述:
有一个网站在js里向sessionStorage和Local Storage里设置一个值smidV2,
我想知道设置这个值的位置,想使用油猴hook的方式hook住设置的位置debugger,参考hook cookie的写法但是不成功,请问我这代码错的哪里,正确的代码如何写
(function() { console.log("hook sessionStorage start"); var session_cache = sessionStorage; console.log(session_cache); Object.defineProperty(window.sessionStorage, 'getItem', { value: function(k){ return 'kk' }, set: function(k, v){ console.log("sessionStorage --> set ", k, v); session_cache.k = v; }, get: function(k){ console.log("sessionStorage --> get ", k); debugger; if (k in session_cache){ debugger; return session_cache.k } }, setItem: function(key, val){ console.log("Hook sessionStorage setItem -->", key, val); debugger; session_cache.setItem(key, val); }, getItem: function(key){ console.log("Hook sessionStorage getItem -->", key); debugger; return session_cache.getItem(key) } }); //console.log("Hook session getItem"); //window.real_sessionStorage = window.sessionStorage //window.sessionStorage = storageUtil; //storageUtil.getItem("a"); //window.sessionStorage.getItem("a"); //debugger; //var my_session = storageUtil; //Object.defineProperty(window.sessionStorage, 'getItem', { get: _myeval }) })();
url:
https://passport.douyu.com/index/login?passport_login_callback=PASSPORT_LOGIN_SUCCESS_CALLBACK&passport_reg_callback=PASSPORT_REG_SUCCESS_CALLBACK&passport_close_callback=PASSPORT_CLOSE_CALLBACK&passport_dp_callback=PASSPORT_DP_CALLBACK&did=10000000000000000000000000001501&client_id=71&type=undefined&state=https%3A%2F%2Fzhaobiao.douyu.com%2Findex.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
|
|
|
丁仔
发表于 2020-6-14 18:45:55
|
显示全部楼层
var setItem = localStorage.setItem.bind(localStorage); localStorage.setItem = function(key, value) { console.log(key, value); debugger; return setItem(key, value); }
这样就行了,sessionStorage差不多。
|
|
|
|
|
|
|
fuck
发表于 2020-6-15 09:40:19
|
显示全部楼层
|
|
|
|
|