当前位置: 首页 > news >正文

云南购物网站建设属于b2b的网站有哪些

云南购物网站建设,属于b2b的网站有哪些,深圳电器网站建设,建立网站的软件下载某眼专业版-实时票房接口破解 某眼票房接口:https://piaofang.maoyan.com/dashboard-ajax 前言 当我们想根据某眼的接口获取票房信息的时候,发现它的接口处的参数是加密的,如下图: 红色框框的参数都是动态变化的,且signKey明显是加密的一个参数。对于这种加密的参数,我们需要…

某眼专业版-实时票房接口破解

某眼票房接口:https://piaofang.maoyan.com/dashboard-ajax

前言

当我们想根据某眼的接口获取票房信息的时候,发现它的接口处的参数是加密的,如下图:

在这里插入图片描述

红色框框的参数都是动态变化的,且signKey明显是加密的一个参数。对于这种加密的参数,我们需要从它们的js文件中找到加密方式,因此我们需要找到signKey所在的位置。

解决方案

1.找到veri.js

如图所示:
在这里插入图片描述

首先需要根据这个路径找到veri.js文件,signKey这个参数就出现在这个里面

2.找到signKey所在位置

如图所示,signKey的位置
在这里插入图片描述

3.分析它所处的这个函数的内容

可以找到请求参数里面的几个变量,这说明我们找到的文件没有错。

在这里插入图片描述

index参数的获取

将其中的o(250)输出,如下图,得到floor:

在这里插入图片描述

说明Math[o(250)]其实是一个向下取整的函数,故index的获得方式就是:

Math.floor(1e3 * Math.random() + 1)

将它用Python实现就是:

math.floor(1000 * random.random() + 1)

signKey参数的获取

通过调式(加断点),可以发现signKey的值是由这个语句获得的:
在这里插入图片描述
而这个语句中含有另一个参数d和o(262),对于o(262),可以在控制台得到它的值,如下图所示:
在这里插入图片描述

对于参数d,我们继续寻找,发现d的产生位置:

在这里插入图片描述

然后d是和变量i相关的,i的定义如下:
在这里插入图片描述
然后在调试的时候可以知道d的值其实是一段变量i中的key和value的字符串,如图:
在这里插入图片描述
而i在还有一个变量key我们是不知道的,但是由于key的值是由o(260)产生的,则我们可以将它看出一个常量,控制台输出如下:
在这里插入图片描述

由此跟d相关的变量我们都可以知道了,跟它相关的变量如下:

  • User-Agent:代理
  • timeStamp:时间戳
  • index
  • channelId
  • method
  • sVersion
  • key
    由此可以生成跟d相关的字符串了,d的格式:
method=Get&index=123&...

d产生后,我们再回到生成signKey的位置:

在这里插入图片描述
此时需要注意是先对d进行了一些字符串替换,然后进行到加密函数中去的

继续调式,进入到加密函数当中:
在这里插入图片描述

这是一个md5加密的过程。

我们先对该函数进行验证,看是否会生成所需要的signKey:

在这里插入图片描述

以上图的d作为输入,得到结果如下:
在这里插入图片描述

最后的结果是一致的,说明就是这个函数。

综上所述,获取signKey的步骤为:

  • 将变量i中的参数全部获取
  • 将i中参数的key和value进行拼接,形成字符串d
  • 将d输入到加密函数中进行加密
  • 得到signKey

到此,signKey的获取也就结束了,那么接口破解也就完成了。

运行结果

在这里插入图片描述

关键代码

完整代码请前往:地址

def getIndex(self):return math.floor(1000 * random.random() + 1)def getD(self):# d是各种参数的组合,包括timeStamp,User-Agent,index,channelId,sVersion以及keyself.pay_loads['index'] = self.getIndex()self.pay_loads['timeStamp'] = int(time.time() * 1000)logger.info('timeStamp:' + str(self.pay_loads['timeStamp']))d = 'method=GET&timeStamp=' + str(self.pay_loads['timeStamp']) + '&User-Agent=' + self.pay_loads['User-Agent'] + '&index=' \+ str(self.pay_loads['index']) + '&channelId=' + str(self.pay_loads['channelId']) + '&sVersion=' + str(self.pay_loads['sVersion']) + \'&key=' + self.key# 找出目标字符串中的所有空白字符并用空格代替d = d.replace(r'/\s+/g'," ")return d# 得到signKeydef getSignKey(self):md5 = hashlib.md5()d = self.getD()md5.update(d.encode('utf-8'))signKey = md5.hexdigest()self.pay_loads['signKey'] = signKeylogger.info("signKey:" + signKey)

总结

本部分关键点在于找到请求参数所在文件的位置,然后逐步顺腾摸瓜即可。

http://www.hkea.cn/news/915322/

相关文章:

  • 做游戏赚钱的网站最新新闻热点事件2022
  • 商务网站建设哪家好推广代理公司
  • 自己做网站是否要买云主机西安百度提升优化
  • 成都注册公司哪个区好分析网站推广和优化的原因
  • 模板建站杭州seo泽成
  • 济南网站建设公司川芎网络怎么注册自己的网址
  • linux下安装wordpress关键词优化排名查询
  • wordpress手机网站怎么做中央电视台一套广告价目表
  • 百家号如何给网站做推广推广方案是什么
  • 西安三网合一网站建设产品线上推广方案
  • 2023年免费b站入口百度网站优化
  • 响应式网站建设有利于seo网站发布与推广方案
  • 网页制作教程课件seo推广排名重要吗
  • 小规模纳税人企业所得税怎么征收广州seo招聘
  • 济南企业自助建站网络营销策划公司
  • iis 新建网站 要登录温州seo推广外包
  • 个人想做企业网站备案惠州seo代理商
  • 做公务员题的网站口红的推广软文
  • 福州网站建设 联系yanktcn 04上海百网优seo优化公司
  • 网站备案号如何获得网站建设营销推广
  • 物流网站开发公司西安 做网站
  • 商务信息网站怎么做网络视频营销策略有哪些
  • 社交做的最好的网站怎么开发一个网站
  • 教育品牌网站建设百度搜索推广和信息流推广
  • 虎门专业做网站对网络营销的认识有哪些
  • 投资理财培训网站建设抖音引流推广一个30元
  • 做景观设施的网站网络营销推广要求
  • 携程网站建设进度及实施过程网络营销的缺点及建议
  • 石家庄网站建设哪家专业中国联通腾讯
  • 能访问各种网站的浏览器百度一下网页搜索