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

有关做内购的网站网络营销推广的特点有

有关做内购的网站,网络营销推广的特点有,旅游电子商务网站建设规划,wordpress外链go声明:本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!…

声明:本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

网站概要

采集网站:www.qcc.com
逆向任务:破解请求头参数(key和value)
在这里插入图片描述

其他知识点

1.参数拼接

在进行参数拼接的时候,一般有两种方式:urlencode手动构建
urlencode 遵循标准的 URL 编码规范(RFC 3986),而手动构建的版本通常只做简单字符串拼接。
针对该数据data = {'name': 'John Doe', 'age': 25, 'special': '@#$'} 进行处理,对比如下:

urlencode手动拼接
方式urlencode(data)'&'.join(f"{k}={v}" for k, v in data.items())
结果‘name=John%20Doe&age=25&special=%40%23%24’‘name=John Doe&age=25&special=@#$’
空格编码urlencode 将空格编码为 %20手动拼接可能保留空格或错误编码为 +(表单编码风格)
特殊字符urlencode 会编码所有非安全字符(如 !@#$%^&*() 等)手动拼接可能遗漏部分字符的编码
参数值类型处理urlencode` 会自动将非字符串类型(如整数、布尔值)转换为字符串手动拼接需显式转换类型(如示例中的 str(value)
2.JS语法简化

var i = (0, o.default)(t, e.data)等同于var i = o.default(t, e.data)

  • var i = (0, o.default)(t, e.data)作用是调用模块 o 的默认导出函数default,并传入参数 te.data,然后将返回值赋给变量 i。其核心目的是通过间接调用确保函数执行时的上下文(this)与原模块解绑。
  • (0, o.default) 中的逗号操作符会依次执行所有表达式,并返回最后一个表达式的值。这里返回的是 o.default,即模块 o 的默认导出(通常是一个函数)。
  • 直接调用 o.default() 时,函数内的 this 可能指向 o 的上下文。而 (0, o.default) 会先将 o.default 提取为一个独立的函数引用,再通过 (0, o.default)(t, e.data) 调用它。这种写法确保函数执行时的 this 指向全局对象(非严格模式)或 undefined(严格模式),而非原模块 o

网站分析

加密参数定位
1. 确定加密参数

进入企查查网站之后,先登录,在随机搜索一个公司名称,在搜索的时候观察接口响应发现有一个接口是根据输入的内容实时变化的,进一步发现其请求头存在一直变化的key和value值,因此对该对键值对进行分析。
PS:一般,我们通过XHR进行断点分析加密参数,这里就不一一分析,感兴趣的朋友可以自行分析
具体可参考本博客最后参考学习的第一篇链接
在这里插入图片描述

2.确定加密参数的生成位置以及对应文件

知道加密的参数之后,这里直接进行定位搜索。headers[进行搜索,确定加密方式所在位置,并把对应的js文件在源面板中打开,然后开始进行加密分析。
在这里插入图片描述

加密参数分析

以“京东”的分支机构为例进行翻页分析,https://www.qcc.com/api/datalist/branchelist?isNewAgg=true&keyNo=b40ecf6c3e7e4e0414c501f6ce53dd37&pageIndex=2
在这里插入图片描述

  1. 进行断点分析,发现t和n与接口链接有关
    在这里插入图片描述

  2. 进行参数i的分析,需要进一步到o.default函数和a.default函数
    在这里插入图片描述

  3. o.default函数计算,需要传入一个参数e是去掉域名之后的接口链接,得到计算后的值n
    在这里插入图片描述

该函数转换为对应的Python代码为:

def getCodes(e):  codeList = {  "0": "W",  "1": "l",  "2": "k",  "3": "B",  "4": "Q",  "5": "g",  "6": "f",  "7": "i",  "8": "i",  "9": "r",  "10": "v",  "11": "6",  "12": "A",  "13": "K",  "14": "N",  "15": "k",  "16": "4",  "17": "L",  "18": "1",  "19": "8"  }  e = e.lower()  t = e + e  codes = ''  for k in t:  a = ord(k) % len(codeList)  codes += codeList[f'{a}']  return codes
  1. a.default函数计算,其中传入两个参数e和n,相比在o.default函数计算中传入的e,需要拼接一个{},然后再进入到a.default里面,发现是一个HMAC加密算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

借助HMAC加密破解网站发现是hmac的Sha512加密算法,python实现代码如下

def getHmacSha512(key, data):  # 获取十六进制表示的哈希值  hmac_obj = hmac.new(key.encode(), data.encode(), digestmod=hashlib.sha512).digest()  return hmac_obj.hex()

之后在对所得的结果变成小数再截取[8:28]位即可获得i值,用同样的方法可以计算value的值,其中tid,可以通过在控制台输入window.tid获得

arg1 = reqUrl.lower()  
# 获得key的编码值  
arg2 = getCodes(arg1)  
# 通过HMAC算法计算加密后的key的编码值  
key = getHmacSha512(arg2,arg1+'{}').lower()[8:28]  
# 拼接用于计算value的字段  
arg3 = arg1 + "pathString{}" + tid  
# 获得value的编码值  
arg4 = getCodes(arg1)  
val = getHmacSha512(arg4, arg3)

最终结果比对,得到正确的key和value值
在这里插入图片描述
在这里插入图片描述

后续分析使用

后续只需要更换接口和参数接口,其中需要注意参数拼接的时候直接手动拼接而不是使用urlencode否则无法得到正确结果。
在这里插入图片描述

参考教程:

JS逆向入门案例-某查查网请求头-03_抖查查 逆向-CSDN博客该博客通过Python代码的方式进行解密
最新企查查headers动态加密逆向算法 - 亦辰博客该博客通过JS代码的方式进行解密

http://www.dtcms.com/a/527318.html

相关文章:

  • 后台网站下载友情链接联盟
  • html5网站都有那个网站建设学习教程
  • 朔州做网站的公司怎么制作视频教程
  • cms 网站群做棋牌推广网站违反不
  • asp汽车销售公司网站源码 4s店网站源码 汽车网站建设 完整无萧山网络公司
  • 做一个网站需要哪些网页微信版客户端
  • 给百度做网站的公司工程建设龙头
  • 郑州淘宝网站建设湖南正规竞价优化服务
  • 佛山高端外贸网站建设织梦手机网站怎么安装教程视频
  • 建设部网站有项目经理资质查询系统连云港做网站制作首选公司
  • 网站建设维护和服务合同网上商城排行
  • 温州做网站的公司德州极速网站建设 小程序
  • 网站续费公司呼伦贝尔旅游网站建设
  • 怎样建设一个韩国网站做网站一个月20g流量够吗
  • 网站不备案会怎...做淘口令的网站
  • php做简单网站教程视频教程推进政务服务网站一体化建设
  • 网站页面跳转怎么做个人怎么开网上超市
  • 管理系统网站建设服装公司发展规划
  • 天津做家政的网站池州网站建设费用
  • 自己做网站宣传产品网站技术制作流程图
  • 网站建设美化中期报告如何建立自己个人网站
  • 有没有做兼职的网站江门做网站的公司
  • 网站优化要做哪些工作互联网建站
  • 娱乐建网站网站设计公司怎么样
  • 西乡做网站哪家便宜wordpress 纯代码seo
  • 郑州网站建设q.479185700強安卓app下载官方正式版
  • 如何建立一个外贸公司网站成都网站设计招聘
  • 淘气堡网站建设湖南省建设厅
  • 游戏网站首页设计wordpress+瀑布流加载
  • 开网站设计公司多少钱东莞标志设计公司