【JS逆向系列】同花顺cookie

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


前言

几个月前看的这个,现在算法还能用,分享下获取流程

目标网站:aHR0cDovL3guMTBqcWthLmNvbS5jbi9zdG9ja3BpY2svc2VhcmNoP3R5cGVkPTEmcHJlUGFyYW1zPSZ0cz0xJmY9MSZxcz1yZXN1bHRfcmV3cml0ZSZzZWxmc2VjdHNuPSZxdWVyeXR5cGU9c3RvY2smc2VhcmNoZmlsdGVyPSZ0aWQ9c3RvY2twaWNrJnc9JUU4JThBJUFGJUU3JTg5JTg3JnF1ZXJ5YXJlYT0=


一、页面分析

同花顺的一些接口需要携带这个cookie,也就是这个v,现在开始拿下他 在这里插入图片描述


二、参数获取

1.函数定位

直接下脚本断点,清除cookie后刷新页面,然后注入hook

(function(){
    'use strict'
    Object.defineProperty(document, 'cookie', {
        get: function() {
            debugger;
            return "";
        },
        set: function(value) {
            debugger;
            return value;
        },
});
})()

复制代码

然后就是一路F8,直到hook了v这个参数 在这里插入图片描述

2.算法获取

然后跟栈到这里,找到了v的生产函数,在此处下断点继续走 在这里插入图片描述

走到这里,生产了v参数

在这里插入图片描述

再来看下S这玩意,一连串的数字,看不懂哈 在这里插入图片描述

从外部赋值,应该能看出大概意思,几个时间跟点击位置啥的,这里面最重要的主角是ot.timeNow(),也就是个时间戳哈 在这里插入图片描述

然后呢就是去扣 S.toBuffer跟et.encode这两方法就ok了 在这里插入图片描述

在这里插入图片描述


三、测试

轻松拿下!


import execjs
import requests
from loguru import logger

with open('./code.js',encoding='utf8') as f:
    js_func = execjs.compile(f.read())

v = js_func.call('et_encode')
logger.info('cookie:{}'.format(v))
cookies = {
    'v': v,
}

headers = {
    'Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'Cache-Control': 'no-cache',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Accept-Language': 'zh-CN,zh;q=0.9',
}

response = requests.get('http://x.10jqka.com.cn/stockpick/search?typed=1&preParams=&ts=1&f=1&qs=result_rewrite&selfsectsn=&querytype=stock&searchfilter=&tid=stockpick&w=%E8%8A%AF%E7%89%87&queryarea=', headers=headers, cookies=cookies, verify=False)
logger.info(response.text)
复制代码

在这里插入图片描述

Guess you like

Origin juejin.im/post/7031728217333432328