JS逆向-某某书web端cookie分析
既然是cookies分析,首先使用油猴插件进行hook试下能否在Sources获取生成cookie的调用栈,hook脚本如下(油猴插件安装及使用可自行搜索~):
当场逮到,查看当前包请求参数,通过全局搜索并未发现该参数生成方式,可看到referer则是上面的重定向请求,response中返回数据也是Failed to load response data,因此推测id及sign参数是由referer请求生成的。
将获取到的timestamp2和timestamp2.sig拿到之后请求页面,发现数据可正常拿到了。
至此流程分析完毕,页面302重定向-->canvas链接获取响应内容-->请求
registerCanvas?p=cc获取cookies-->携带cookie请求页面。
复制该html内容到webstorm中查看,全局搜索sign参数,抠出对应js代码进行分析。
有点眼熟emmm。
。
经典fingerprint2.js,github地址:
https:/
/github.com/fingerprintjs/fingerprintjs2/blob/master/fingerprint2.js
检测环境包括以下:
发现结果与id得到的值不同,分析js文件发现salt:
![1238ce23788a18f1f8952126d9afe748.png](https://i-blog.csdnimg.cn/blog_migrate/a2f39518a690bc48fb0106221490dca7.png)
夏天到了,小伙伴们注意防暑~
文章声明
本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!
目标网站
68747470733A2F2F7777772E7869616F686F6E677368752E636F6D2F757365722F70726F66696C652F356135326432313165386163326237386132343132363965 (base16解码嗷~)抓包分析
第一次打开网站后,cookie会自动生成,F12打开开发者工具,清除Applications中的cookies及storage(右键clean即可),黑色方框内容即为此次需要分析的cookies。![01bb10bc6cf415777e91575113a5d245.png](https://i-blog.csdnimg.cn/blog_migrate/bb51a42d919dd2560351a05a046544af.png)
// ==UserScript==
// @name hook cookie
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author adair
// @include *
// @grant none
// ==/UserScript==
(function() {
'use strict';
var cookie_cache = document.cookie;
Object.defineProperty(document, 'cookie', {
get: function() {
console.log(cookie_cache);
return cookie_cache;
},
set: function(val) {
debugger;
var cookie = val.split(";")[0];
var ncookie = cookie.split("=");
var flag = false;
var cache = cookie_cache.split(";");
cache = cache.map(function(a){
if (a.split("=")[0] === ncookie[0]){
flag = true;
return cookie;
}
return a;
})
cookie_cache = cache.join(";");
if (!flag){
cookie_cache += cookie + ";";
}
},
});
})();
执行后发现并未hook到timestamp2的生成js文件,因此判断cookie可能是由其他请求通过set-cookie生成的。关掉
油猴插件,到network中查看抓包请求,会发现请求首先发生一次302重定向到带有canvas请求的链接(注意将蓝框中选项勾上),点击该请求包,发现response返回包为Failed to load response data,且在reponse headers中也没有set-cookie操作,继续看下面的包(也可搜索请求中cookies的key)。
![767e1042b47ae59d1a84fdb0e8fb0076.png](https://i-blog.csdnimg.cn/blog_migrate/e771ddab279849147e5fd03f4b48264d.png)
![3d82d124175f2e1a6ca6639891040027.png](https://i-blog.csdnimg.cn/blog_migrate/324fc1efd3db5d4efb8ed98b2458969d.png)
// 推测为某字符串进行的md5加密算法id: 11bee1ab000d82110a5763dc8b589xxx// 推测为一连串的window环境检测后生成的字符串sign: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36~~~unknown~~~zh-CN~~~24~~~8~~~8~~~-480~~~Asia/Shanghai~~~1~~~1~~~1~~~1~~~unknown~~~Win32~~~Chrome PDF Plugin::Portable Document Format::application/x-google-chrome-pdf~pdf,Chrome PDF Viewer::::application/pdf~pdf,Native Client::::application/x-nacl~,application/x-pnacl~~~~canvas winding:yes~canvas fp:7f154998edb4b8bd479efbf711c32da1~~~7c05e8d5295c43c5dadd630666c44b34~~~Google Inc.~ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)~~~false~~~false~~~false~~~false~~~false~~~0;false;false~~~1;2;5;11;12;13;18;19;20;21;23;24;26;29;35;36;39;41;43;44;48;49;50;51;52;53;54;55;56;57;59;60;61~~~124.04344884395687
右键请求copy as curl bash 请求到https://curl.trillworks.com/,将转换码复制到pycharm执行,获取到response text 为一个canvas,对应value与timestamp2相同。
![97e1aa8458a7a4cf303ac72db3397dec.png](https://i-blog.csdnimg.cn/blog_migrate/71ec8a5cddbd54dd2f60fbcb31b8feb9.png)
![0650aa934c6168b5c6d111129af3b4e1.png](https://i-blog.csdnimg.cn/blog_migrate/10f551d78b0147406e5c1e6c4d6f60de.png)
![8409bb0ca734701e94fcc0e7475a6d7e.png](https://i-blog.csdnimg.cn/blog_migrate/7a205c6ab128d60c1aa44ca65250d82f.png)
参数分析
n etwork抓包时发现无法获取response,遂使用charles重新抓包(charles安装及使用可自行搜索~)。![6a166b6a15921b65fbbf80ae671a1c3e.png](https://i-blog.csdnimg.cn/blog_migrate/007a56b197ec65cd34e3fda1ce093397.png)
![ed08a6380c5f557affb611c9f7aa4636.png](https://i-blog.csdnimg.cn/blog_migrate/d9492a72306c17388caceba0f014e86b.png)
将上述环境再与defaultOptions合并生成一个新的Object对象作为option,再将Object对象中的value进行字符串的转换及拼接得到sign参数,其中canvas指纹也可以通过getCanvasFp方法获取,具体js分析不再赘述,网上能搜到很多该项目文章,将生成的sign参数进行md5加密:
![5495715e92462eae0d434bf5e35b9527.png](https://i-blog.csdnimg.cn/blog_migrate/a0187faade56f48f124e0a51a6f5aa77.png)