Crack App | 某都市魔幻 FM 请求参数 sign 的加密分析

简介: Crack App | 某都市魔幻 FM 请求参数 sign 的加密分析

今日目标

魔幻城市的 FM App,本文比较简单,且以分享分析思路为主,不提供样本

抓包分析

app 是 Dart写的

直接抓包可以看到请求中有一个 sign 值加密

通过 jadx 分析找不到 sign 的加密位置

另辟蹊径

研究了很久,以为要放弃了。

发现所有的接口都是 html 结尾,结合 Dart 这语言的特性(全平台开发),尝试直接通过浏览器打开请求的链接,发现可以直接请求。

打开 app 中的文章页面,将文章直接复制出来打开,发现请求可以直接返回我们需要的数据

抓包就可以看到也有一个 sign 的加密参数

这里直接检索 sign

得到下面的检索结果

这样可以简单梳理出来这里的 sign 就是一个 md5 的加密

md5(appId=xxx&nonceStr=xxx&time=str(int(time.time()))+xx盐值)

这样就可以用 python 实现全流程请求了

Python 实现流程请求

import time
import requests
from hashlib import md5
headers = {
    'user-agent': 'Dart/2.17 (dart:io)',
    'accept-encoding': 'gzip',
    'host': 'xxxx-cdn.xxx.com',
}
time = str(int(time.time()))
data = f"appId=xxx&nonceStr=xxx&time={time}xxxx"
sign =md5(data.encode('utf8')).hexdigest()
params = (
    ('content_id', '154401'),
    ('appId', 'xxxx'),
    ('nonceStr', 'xxxx'),
    ('time', time),
    ('sign', sign),
)
response = requests.get('https://api-xxxxx.xxxx.com/api/radio/content/detail/image-text-detail.html', headers=headers, params=params)
print(response.text)

尝试发包可以正常请求到数据

小结

从 app 采集分析的角度来看,app 本身还是比较简单的,但是不得不说,分享到 web 之后分析签名的这个思路,的确打到我的思维盲区

从 app 防护的角度看,app 可以考虑上一个免费加固,再对接口的访问限制做一些调整,限制链接的打开来源,就可以规避本文的分析入口,让逆向成本加剧

完事~

End.

以上就是全部的内容了,咱们下次再会~

相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
基于Python的App流量大数据分析与可视化方案
基于Python的App流量大数据分析与可视化方案
|
3月前
|
存储 监控 算法
taosd 写入与查询场景下压缩解压及加密解密的 CPU 占用分析
在当今大数据时代,时序数据库的应用越来越广泛,尤其是在物联网、工业监控、金融分析等领域。TDengine 作为一款高性能的时序数据库,凭借独特的存储架构和高效的压缩算法,在存储和查询效率上表现出色。然而,随着数据规模的不断增长,在保证数据安全性和存储效率的同时,如何优化 CPU 的资源占用,成为了一个值得深入讨论的问题。
72 1
|
10月前
【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 异常分析
【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 异常分析
|
7月前
|
安全 网络协议 网络安全
【Azure 环境】从网络包中分析出TLS加密套件信息
An TLS 1.2 connection request was received from a remote client application, but non of the cipher suites supported by the client application are supported by the server. The connection request has failed. 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。连接请求失败。
180 2
|
7月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
114 5
|
9月前
|
JavaScript 前端开发 安全
js逆向实战之烯牛数据请求参数加密和返回数据解密
【9月更文挑战第20天】在JavaScript逆向工程中,处理烯牛数据的请求参数加密和返回数据解密颇具挑战。本文详细分析了这一过程,包括网络请求监测、代码分析、加密算法推测及解密逻辑研究,并提供了实战步骤,如确定加密入口点、逆向分析算法及模拟加密解密过程。此外,还强调了法律合规性和安全性的重要性,帮助读者合法且安全地进行逆向工程。
213 11
|
10月前
|
数据采集 数据可视化 数据挖掘
基于python django的scrapy去哪儿网数据采集与分析,包括登录注册和可视化大屏,有md5加密
本文介绍了一个基于Python和Django框架,使用Scrapy进行去哪儿网数据采集与分析的项目,包括实现登录注册功能、MD5加密以及通过可视化大屏展示分析结果的综合系统。
143 1
基于python django的scrapy去哪儿网数据采集与分析,包括登录注册和可视化大屏,有md5加密
|
9月前
|
安全
【Azure App Service】App service无法使用的情况分析
App Service集成子网后,如果子网网段中的剩余IP地址非常少的情况下,会在App Service实例升级时( 先加入新实例,然后在移除老实例 )。新加入的实例不能被分配到正确的内网IP地址,无法成功的访问内网资源。 解决方法就是为App Service增加子网地址, 最少需要/26 子网网段地址。
|
10月前
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
|
10月前
|
JavaScript 前端开发 安全
前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密
前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密
344 0

热门文章

最新文章