Python爬虫进阶--js逆向-某某快药 sign 加密分析与加密逻辑复写

在这里插入图片描述
今日受害者
aHR0cDovL3d3dy5kZGt5LmNvbS9jb21tb2RpdHkuaHRtbD9kZGt5Y2FjaGU9YTdiMTllODc5ZDJmMmYyNzlkMzU2ZjVhZmE2ZDVjZmY=

分析请求

请求一波,看看有哪些加密的参数。如图
在这里插入图片描述
似乎 sign 是经过加密的,其他参数好像没什么问题,那我们就来找找 sign 在哪。
鼠标悬停,选中点击红框中的文件
在这里插入图片描述
直接搜索 sign ,出现四个结果,在这里就能看到 sign 加密了。
在这里插入图片描述
接着,分析逻辑,这里的 sign 值是 y ,而 y 又是 MD5(f) 赋值的,而 f 又是 t.get(“method”) + p + r 的结果,p 的生成看这段代码,在这里插入图片描述,r 呢 是上面写死的,鼠标划上一点可以看到 var r = “6C57AB91A1308E26B797F4CD382AC79D”; 经过一轮分析,就可以得到下面的逻辑:

sign = md5(t.get("method") + p + r)

接下来只需要把我们不知道的值通过断点的方式调式出来。
像这样把不知道的值打上断点
在这里插入图片描述
然后重新请求,进入到断点,可以通过 console 中打印值来理解生成逻辑
在这里插入图片描述
知道需要的变量值后,我们就可以用Python复写加密的逻辑。
代码如下:

import time
from hashlib import md5


def md5_value(s):
    a = md5(s.encode()).hexdigest()
    return a


def get_sign():
    time_stamp = time.time()
    local_time = time.localtime(time_stamp)
    str_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)

    l = ["method", "orderTypeId", "orgcode", "pageNo", "pageSize", "plat", "platform", "shopId", "t", "v",
         "versionName"]
    t = {
        'method': 'ddsy.product.query.orgcode.product.list.b2c',
        'orderTypeId': '0',
        'orgcode': '010502,010503,010504,010505,010506,010507',
        'pageNo': '1',
        'pageSize': '100',
        'plat': 'H5',
        'platform': 'H5',
        'shopId': '-1',
        # 't': '2019-9-23 22:4:16',
        't': str_time,
        'v': '1.0',
        'versionName': '3.2.0'
    }
    p = ''
    for i in range(0, len(l)):
        m = l[i]
        p += m + t.get(m)
    f = t['method'] + p + '6C57AB91A1308E26B797F4CD382AC79D'
    sign = md5_value(f).upper()
    print(sign)
    return sign

到这里把sign值带入URL里请求就可以了。
在这里插入图片描述

欢迎点赞,留言,转发,转载,感谢大家的支持

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值