首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

APP Sign签名破解漏洞

相信大家做APP渗透测试的时候,经常会遇到sign签名的困扰,这里给大家分享个实际案例,但是这个案例不是很完美,为什么不完美,详情见下文。 给520来点不一样的,求转发!...直接搜索sign未果 数据包加密大致如下 ? 反编译出apk源码后,直接搜索sign参数,内容太多,无果 ?...旁路搜索其他参数 数据包中除了sign,还有timestamp和token,我们尝试搜索timestamp 看到如下核心代码,路径为 cn.xxxx.utils.CommonUtils public...format(new Date(Long.parseLong(timestampString) * 1000)); } 上面这段代码应该是设置timestamp的,那我们根据命名规则,是可以猜测设置sign...也是在cn.xxxx.utils.CommonUtils中 找到sign加密点 果然,确实也存在sign相关的方法,名为getDigestSign ?

3.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

某新闻App sign签名算法解析(一)

你看看我,前两天就开始学习这个app的调试,为啥人家视频里可以ida调试? 而我ida一挂上就卡死呢? 奋飞:这个app加壳了,直接上ida肯定被壳发现了。...分析某新闻App的通讯协议,RPC调用sign签名。 某新闻App版本 v8.3.0 BlackDex脱壳 frida rpc调用 二、步骤 抓个包先 [main.png] 掰着手指头数了数,32位。...搜 "sign" 先用 BlackDex 把壳脱了,然后搜索 "sign" [find1.png] 结果倒是不多,但是很多明显看上去不对劲。...搜 "app_vno" 混迹江湖这么年,反正这个 app_vno 我就很少见 从 app_vno 找到 KEY_APP_VNO ,最后定位到了这个 getSign。...大概改改就行 # run.py # 参数是三个,第一个参数是 accont, 第二个参数是token ,第三个参数是时间戳 @app.route('/sign', methods=['GET']) #

83840

Crack App | yrx App 对抗赛第一题 Sign 算法的还原

虽然没有参加,不过还是借了账号写写文章,瞻仰下各路大佬的风采(简称蹭蹭流量) 抓包分析 进入 App 第一题之后,可以抓到一下两个包,分别是time和app1 time包返回时间戳 app1包返回页面上的数字...主要看app1包的请求 除了time和page之外还多了一个sign字段 这个sign就是分析的重点 加密定位与算法还原思路 取巧的方法 直接搜索关键词第一题直接跳到第一题的的逻辑里 然后可以看到sign...的逻辑 直接点进sign看方法 用frida hook看看参数和结果 console.log("脚本加载成功"); function main(){ Java.perform(function...() { var clazz = Java.use('com.yuanrenxue.match2022.security.Sign'); clazz.sign.implementation...(main) 这个时候已知入参为 具体的组成page=[page num]+time 再进入sign看下加密的逻辑 这就是sign的逻辑,其实就可以进行缺啥补啥了,扣出来java的代码,然后用

44020

Crack App | 某资讯 app 参数 Signature 与 request_sign_q 加密逻辑分析

图源:网络 今日目标 aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzEyMzY2NzE= js 逆向卷不动了,开始入门 app 抓包分析 打开 app,然后检索...python关键词,可以找到下面的请求 其中signature还有request_sign_q是分析的重点 查壳与脱壳 现在基本 app 都会做加固防护,所以还是直接看看有没有壳 果然还是有壳的,是数字家的...直接frida-dexdump -d走起,这个选项很慢,没有FART倒数 3 秒脱壳那么快,但是非常给力 # 准备工作 1、启动 frida server 2、启动 app 并保持 app 运行状态 3...package name]的路径下 全部打包太多了,所以我删掉了非常小的几个dex,按照大小排序打包了最大的几个,拖到jadx中分析 通过检索我们可以大致定位到signature还有request_sign_q...:"+result); return result; }; }); 可以看到参数a是标识context实例,b参数是一串字符串符合我们前面的分析 这个so我们之后分析 request_sign_q

45840

AndroidNativeEmu模拟执行计算出某电商App sign

一、目标 这几天写代码写的很爽,因为经过几天没日没夜的调试,终于成功的把某电商Appsign用 AndroidNativeEmu 跑出来了,填了无数的坑,跑出正确结果的那一刻,内牛满面呀,心里充满了对...其实算出结果并不重要, 填坑、调试并修改原工程 最终跑出sign的过程才是最重要的。...所以这里插播一个广告: 我预计会花2-3周的时间,把这次从原工程到跑出sign的过程详细到每一步的所思所想和解决方法完整的过程发布出来,绝对是全网唯一一个AndroidNativeEmu实操教程,仅会发布至...(= ̄ω ̄=)  以下是正文…… 二、分析 李老板: 奋飞呀,你不是说某电商App的签名已经搞定了吗? 奋飞: 对呀,连上手机签名,就可以正常拿到数据了。...成功算出sign [runrc.png] 算完了,总不能复制过去吧, 这里我们参照 某右协议分析(三),通过Flask起个web Server来搞 app = Flask(__name__) @app.route

1.4K30

Crack App | 某保险资讯 App 请求头参数 token 与 sign 加密算法分析

今日目标 准备好好养老了,所以关注了一波保险,顺便看了看 app 的加密 aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzgwNjAyNjc= 抓包分析 请求咨询页的时候...,可以看到下面的请求 这里的sign是动态变化的,token是不变的,所以今天分析的重点是这个 app header 中的 sign 字段 根据请求头中到的user-agent可以知道,请求是由chrome...内核发出的,大概率是H5的 app 所以这里直接用pc Chrome联调就完事了 不知道什么是H5 app 的可以看上一篇文章 Crack App | 某 H5 App 反调试对抗 对抗 H5 反调试...上一篇文章我们用 Chrome 调试的时候可以知道,像这样的 app 一般都是有反调试的 这个 app 当然也不例外 在上一篇文章中,我们是使用xposed还有frida分别测试hook完成的反调试对抗...但是今天这个 app 有点麻烦,加了 360 的壳 虽然可以脱壳分析然后 hook 过反调试,但是有点太麻烦了一点,有没有什么办法可以偷懒一波?

77220

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

今日目标 魔幻城市的 FM App,本文比较简单,且以分享分析思路为主,不提供样本 抓包分析 app 是 Dart写的 直接抓包可以看到请求中有一个 sign 值加密 通过 jadx 分析找不到 sign...打开 app 中的文章页面,将文章直接复制出来打开,发现请求可以直接返回我们需要的数据 抓包就可以看到也有一个 sign 的加密参数 这里直接检索 sign 得到下面的检索结果 这样可以简单梳理出来这里的...sign 就是一个 md5 的加密 md5(appId=xxx&nonceStr=xxx&time=str(int(time.time()))+xx盐值) 这样就可以用 python 实现全流程请求了...', headers=headers, params=params) print(response.text) 尝试发包可以正常请求到数据 小结 从 app 采集分析的角度来看,app 本身还是比较简单的...,但是不得不说,分享到 web 之后分析签名的这个思路,的确打到我的思维盲区 从 app 防护的角度看,app 可以考虑上一个免费加固,再对接口的访问限制做一些调整,限制链接的打开来源,就可以规避本文的分析入口

40520

App开放接口api安全:Token签名sign的设计与实现

来源:cnblogs.com/whcghost/p/5657594.html 前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些...但是在app提供的开放接口中,后端服务器在用户登录后 如何去验证和维护用户的登陆有效性呢,以下是参考项目中设计的解决方案,其原理和大多数开放接口安全验证一样,如淘宝的开放接口token验证,微信开发 平台...2.服务器设计一个url请求拦截规则 (1)判断是否包含timestamp,token,sign参数,如果不含有返回错误码。...(4)根据用户请求的url参数,服务器端按照同样的规则生成sign签名,对比签名看是否相等,相等则放行。...签名实现 获取全部请求参数 String sign = request.getParameter("sign"); Enumeration<?

1.8K30
领券