某电视 频道headers参数x-itouchtv-ca-signature逆向

news2024/11/20 0:44:15

本文仅供参考学习,如有侵权可联系本人

某电视(荔枝平台)平台逆向

  • 目标链接
'aHR0cHM6Ly93d3cuZ2R0di5jbi9jaGFubmVsRGV0YWlsLzI0Ng=='

接口链接:

'aHR0cHM6Ly9nZHR2LWFwaS5nZHR2LmNuL2FwaS9jaGFubmVsL3YxL25ld3M/cGFnZVNpemU9NDAmY2hhbm5lbElkPTI0NiZjdXJyZW50UGFnZT0x'
  • 接口分析
  1. 荔枝网看看数据这一块,heander带有几个请求体,请求参数很正常。响应数据正常。拿去pychram请求第二页就不能正常出现数据了。
    在这里插入图片描述
    x-itouchtv-ca-key: 89541443007807288657755311869534 看起来像加密参数用到的key,刷新了一下不会变
    x-itouchtv-ca-signature: s0ejgTWVIIUC3X+5A0fFVUGtBAB7hJSb8yPPKtHRDfs= 应该是加密后的值
    x-itouchtv-ca-timestamp: 1658974287663 时间戳
    x-itouchtv-client: WEB_PC 来源
    x-itouchtv-device-id: WEB_f7461cd0-fde8-11ec-b3cc-c120738f1955 见名知意有点像设备id 固定的。

  2. 全局搜"X-ITOUCHTV-Ca-Signature",需要注意的是这里需要搜大写否则找不到。
    在这里插入图片描述
    直接看JavaScript,其他文件都不是加密生成的地方。

  • 加密参数分析
  1. 给上断点往下滑可以看每个值的生成逻辑,验证之前的猜想,发现基本都是对的。
    在这里插入图片描述
    而X-ITOUCHTV-Ca-Signature就像是 m值加上一串盐值进行了加密。

  2. 往上走可以看到m的生成。
    在这里插入图片描述 是由t、n、d通过换行符"\n"拼接的,再接入_组成;
    t:是请求方式GET
    n:是带有参数的链接
    d:是时间戳也就是heanders的时间戳
    _:是空字符在这里插入图片描述

  3. 继续单步调试,可以发现它是经过了HMAC.init(),感觉就是经过了一直哈希算法。
    在这里插入图片描述

  4. 继续单步可以发现整个是webpack打包的JavaScript,可以往上看初步判断是sha256
    在这里插入图片描述

  5. 大概加密就是m作为加密参数,一长串的字符串作为key进行了hmac sha256 加密之后再经过了base64; 验证是否是自己猜想。
    在这里插入图片描述
    事实证明没有错的。
    在这里插入图片描述

  6. 接下就是通过python还原算法

url = 'https://敏感域名/api/channel/v1/news?pageSize=40&channelId=246&currentPage=1&searchByTime=false&beginScore='
keys = "dfkcY1c3sfuw0Cii9 **敏感key** Qy2hqlDxyvDXd1oVMxwYAJSgeB6phO8eW1dfuwX"
def get_sha256(self, url, key):
    date = str(round(time.time() * 1000))
    method = "GET"
    p = ""
    data_list = [method, url, date, p]
    data = '\n'.join(data_list)
    key = key.encode('utf-8')  # sha256加密的key
    message = data.encode('utf-8')  # 待sha256加密的内容
    sign = base64.b64encode(hmac.new(key, message, digestmod=sha256).digest()).decode()
    return date, sign

如有不懂可以联系博主

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纯注解驱动SSM整合

纯注解驱动SSM整合 Jdbc.java package com.itheima.confing;import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean;import javax.sql.DataSource;public class J…

思购趣拼秒杀模式的逻辑与模式特点

读:小镇上来了一个陌生的年轻人,年轻人交了一百块定金给旅馆的老板去楼上挑房间,旅馆老板拿着这一百块钱还给了卖猪肉的,卖猪肉的把钱还给了卖饲料的,卖饲料的把钱还了厂商,厂商拿着钱还给了按摩店的小姐&a…

一文说清MySQL索引数据结构

前言 接上篇说到,小A匆匆忙忙的赶回宿舍,因为晚上他要给女神整理讲解MySQL中索引数据结构资料。一边整理一边忍住不笑了起来,等小美看到这篇文章不得爱上自己。当上小美男朋友,从此踏上人生巅峰不是梦(该考虑一下孩子…

C#,图像二值化(12)——基于谷底最小值的全局阈值算法与源代码

1、基于谷底最小值的阈值 这个方法适用于通过有限的迭代次数,平滑后能得到双峰的图像,让双峰的谷底成为阈值。当执行完基于谷底最小值的阈值操作的时候,改变了直方图信息,使之成为处理过后的直方图信息,这时候显示Doc…

LeetCodeday05

面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: public class Leetcode0207 {public static void main(…

ChatGPT背后的模型

文章目录1.RLHF方法2.ChatGPT中的RLHF方法2.1 微调模型GPT-32.2 训练奖励模型2.3 利用强化学习进一步微调语言模型3.效果4.面临挑战5.参考InstructGPT语言模型,是一个比 GPT-3 更善于遵循用户意图,同时使用通过我们的对齐研究开发的技术使它们更真实、毒…

应急/linux 挂D盾扫描方法

0x00 linux 挂D盾扫描方法 这个方法可以解决Linux下无法使用D盾查杀webshell的困扰 利用ssh将Linux文件系统挂在到win上面,然后扫描就好了 0x01 环境安装 安装D盾 D盾都用过吧,应急经常用来扫一下是否存在 Webshell D盾下载地址 D盾防火墙 (d99ne…

python 性能优化

文章目录性能测试运行速度内存消耗并行加速分布式并行多线程多进程框架即时编译njitcase1 计算熵case2 找到最大概率类别case3 计算两两准确率GPU使用工具关于程序优化的第一个准则是“不要优化”,第二个准则是“不要优化那些无关紧要的部分”。性能测试 性能测试是…

4种FPGA时钟分频 【附源码】:1.偶数分频;2.奇数分频(占空比50%);3.奇数分频(任意无占空比);4.小数分频;

题目来源于牛客网,完整工程源码:https://github.com/ningbo99128/verilog 目录 VL37 偶数分频 VL40 奇数分频(占空比50%) VL42 奇数分频(任意无占空比) VL41 任意小数分频 VL37 偶数分频 题目介绍 请…

https的相关知识,为什么https更加安全,为什么要对称与非对称加密,非对称加密的算法

目录 https相比于http更加安全,三个优势: 下面是一些必须知道的问题 1.对称加密与非对称加密: 2.对称加密的密钥SK如何产生和传输: 3.https有两套非对称加密 4.https的哈希一共用于两个地方 5.https的整个流程 https相比于ht…

ElasticSearch数据实时性原理分析与持久化

问题复现 现在有这么一种业务场景,需要将海量的数据通过Hive进行数据清洗并统计,最后落库到ES中,因为需要支持大数据量的分词,模糊搜索,所以考虑用ES而不直接放到Mysql中,前端需要直接对数据进行交互&…

Redis的自增也能实现滑动窗口限流?

文章目录限流核心原理以及代码基于Spring切面实现的注解版本限流是大家开发之路上一定会遇到的需求。比如:限制一定时间内,接口请求请求频率;一定时间内用户发言、评论次数等等,类似于滑动窗口算法。这里分享一份拿来即用的代码&a…

buildroot构建hisi平台根文件系统和工具链

buildroot构建hisi平台根文件系统和工具链 前面使用了arm-hisiv300-linux 工具链来作为Buildroot的外部工具链进行编译,然后遇到了很多编译问题。 https://blog.csdn.net/duapple/article/details/128516133?spm1001.2014.3001.5501 这里不使用hisi的工具链&…

Seata简介

小结: nacos 【name server】:注册中心,解决服务的注册与发现 nacos【config】:配置中心,微服务配置文件的中心化管理,同时配置信息的动态刷新 Ribbon:客户端负载均衡器,解决微服务集…

C++之引用类型,深浅拷贝构造

引用类型:给内存段取别名。 int m 10; //引用,给内存段取别名,所以需要给他一段内存段,而不只是声明。 int& n m;//不是赋值的意思,是别名的意思 想要在被调函数中修改主调函数中定义的变量的值时,…

小程序用户头像昵称获取规则调整与之对应调式策略、新API接口的bug

目录 调整时间 调整背景 调整说明 开发者与之对应的debug策略 1.button里面包含一个image,这种包含关系 2.然后我们可以看到官方给出的是用button组件中的open-type属性并且给到了一个chooseAvatar值! 3.我们会发现光放给我们了一个“配置好的”命…

CSAPP Cache Lab

CSAPP Cache Lab 本实验将帮助您了解缓存存储器对 C 语言性能的影响程式。实验室由两部分组成。 在第一部分中,您将编写一个小的 C 程序(大约 200-300 行)模拟高速缓存的行为。 在第二部分中,您将优化一个小型矩阵转置函数&#…

NoMachine出现 The session negotiation failed的解决方案及踩坑总结

问题情况:我A电脑输入用户名和密码可以远程B电脑,B电脑输入用户名密码就是登录不上A电脑。 B电脑上密码是用的账户密码(就是图标是一把钥匙的那个)。 A电脑上的密码是用的PIN密码(Win11系统推荐的那个)。 通…

ArcGIS基础实验操作100例--实验37线要素生成规则或随机采样点

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验37 线要素生成规则或随机采样点 目录 一、实验背景 二、实验数据 三、实验步骤 &…

小程序安全设置的经验分享

一、小程序框架概述 在第一部分小程序框架概述中,将介绍小程序抽象框架、小程序调用框架和小程序初始化流程。下面让大白来逐一介绍。 1、小程序抽象框架 1.1视图层 包含WXML、WXSS和页面视图组件。 WXML是一种类似XML格式的语言,支持数据绑定、条件渲染、列表渲染、自定…