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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 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.

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

相关文章
|
5天前
|
开发框架 监控 .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
|
2月前
|
安全
【Azure App Service】App service无法使用的情况分析
App Service集成子网后,如果子网网段中的剩余IP地址非常少的情况下,会在App Service实例升级时( 先加入新实例,然后在移除老实例 )。新加入的实例不能被分配到正确的内网IP地址,无法成功的访问内网资源。 解决方法就是为App Service增加子网地址, 最少需要/26 子网网段地址。
|
3月前
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
|
3月前
|
JavaScript 前端开发 安全
前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密
前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密
78 0
|
3月前
|
开发框架 缓存 .NET
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
|
3月前
|
C# 开发工具
【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码渐入最源端
【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码渐入最源端
|
3月前
|
网络协议 NoSQL 网络安全
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
|
3月前
|
JavaScript 前端开发 安全
VUE——APP,后端,前端三端AES加密解密
VUE——APP,后端,前端三端AES加密解密
154 0
|
28天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
422 7
|
28天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
480 1

热门文章

最新文章