js获取a标签的value值_JS逆向某某书web端cookie分析

JS逆向-某某书web端cookie分析 1238ce23788a18f1f8952126d9afe748.png

夏天到了,小伙伴们注意防暑~

文章声明

    本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

目标网站

     68747470733A2F2F7777772E7869616F686F6E677368752E636F6D2F757365722F70726F66696C652F356135326432313165386163326237386132343132363965 (base16解码嗷~)

抓包分析

第一次打开网站后,cookie会自动生成,F12打开开发者工具,清除Applications中的cookies及storage(右键clean即可),黑色方框内容即为此次需要分析的cookies。 01bb10bc6cf415777e91575113a5d245.png既然是cookies分析,首先使用油猴插件进行hook试下能否在Sources获取生成cookie的调用栈,hook脚本如下(油猴插件安装及使用可自行搜索~):
// ==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当场逮到,查看当前包请求参数,通过全局搜索并未发现该参数生成方式,可看到referer则是上面的重定向请求,response中返回数据也是Failed to load response data,因此推测id及sign参数是由referer请求生成的。 3d82d124175f2e1a6ca6639891040027.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将获取到的timestamp2和timestamp2.sig拿到之后请求页面,发现数据可正常拿到了。 0650aa934c6168b5c6d111129af3b4e1.png     至此流程分析完毕,页面302重定向-->canvas链接获取响应内容-->请求 registerCanvas?p=cc获取cookies-->携带cookie请求页面。 8409bb0ca734701e94fcc0e7475a6d7e.png

参数分析

n etwork抓包时发现无法获取response,遂使用charles重新抓包(charles安装及使用可自行搜索~)。 6a166b6a15921b65fbbf80ae671a1c3e.png复制该html内容到webstorm中查看,全局搜索sign参数,抠出对应js代码进行分析。 ed08a6380c5f557affb611c9f7aa4636.png 有点眼熟emmm。 。 经典fingerprint2.js,github地址: https:/ /github.com/fingerprintjs/fingerprintjs2/blob/master/fingerprint2.js 检测环境包括以下:

714a09034f2cd82d577e1d9eb7d40703.png  将上述环境再与defaultOptions合并生成一个新的Object对象作为option,再将Object对象中的value进行字符串的转换及拼接得到sign参数,其中canvas指纹也可以通过getCanvasFp方法获取,具体js分析不再赘述,网上能搜到很多该项目文章,将生成的sign参数进行md5加密:

5495715e92462eae0d434bf5e35b9527.png 发现结果与id得到的值不同,分析js文件发现salt:

01ddde3e30c0c3c66d28975c74f0ec9c.png

在sign字符串后面加上hasaki后:

7f6d094db17a8b18a3947f5794da378a.png

数据校验正确,再通过上述分析流程获取结果即可,cookie更新则可通过修改sign字符串中user-agent来实现,也可修改其他环境实现, 至 此cookie生成逻辑分析完 成。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值