代码审计:加解密数据包改包测试

VSole2021-10-09 18:15:40

前言

由于小程序的便捷性,越来越多的应用迁移到了了小程序上,由此伴随着小程序上线前的日常渗透测试工作也开始增加。但小程序的测试中经常会遇到数据包被加密了,导致无法进行改包测试。和测试网页数据包加密一样,就需要找到小程序前端相应的加解密方法进行加解密数据包改包测试。

哦豁,小程序传输数据加密了

找他源码干他

小程序不像web网站,直接打开f12就能看,也不像app能直接下载源码,小程序需要自己去找在本地的运行环境,像大佬都是直接用ADB直接去提取,我这边就不用这么高级的方法了(其实是研究了半天不会),直接上手,运行环境用的是夜神模拟器(我这边是root了的),装上re文件管理器,小程序都是藏在这个下面的

/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/

可以根据使用的时间来判断小程序,如果实在确定不了,那就全部删除,再重新打开一下小程序就有了

然后通过qq发送到电脑上,有了源文件好像离成功又近了一步,但是一看wxapkg后缀的文件好像没见过啊,那就继续找找看有没有办法反编译吧,还真找到了

https://github.com/Cherrison/CrackMinApp

我用的是傻瓜式的,直接把wxapkg文件放里面执行一下就好了

其实也还挺简单的啊,但是接下来就比较脑壳痛了


咱也不会代码,咱也看不懂啊

其实也挺好办的,了解一下常用的加密方式

第一步就是要找到前端源码中的加解密的方法,一行行代码去找肯定不现实太费时间,一般都全局搜 encrypt、decrypt、AES、DES、RSA这些关键词。一般来说基本都用对称加密且AES出现的频率最高,如下所示直接找到相应的加解密方法和密码。

这开发也太随意了吧,解密方法居然放这里,既然找到解密方法了那就解密吧!

解密成功,既然解密了,那我就把参数换一换,在加密传输看看你有没有越权吧

还真有越权,哈哈哈。这次就到这里了吧,写的不好大哥们不要喷我!希望各位大佬给弟弟点个赞

小程序
本作品采用《CC 协议》,转载必须注明作者和本文链接
程序测试流程分为两个方面,解包可以挖掘信息泄露问题、隐藏的接口,抓包可以测试一些逻辑漏洞、API安全问题。两者结合起来就可以边调试边进行测试,更方便于安全测试。搜索目标程序目标搜索不能仅仅局限于主体单位,支撑单位、供应商、全资子公司等都可能是入口点,所以程序当然也不能放过它们。程序主体信息确认查看程序账号主体信息,否则打偏了花费了时间不说,还可能有法律风险。
程序和公众号抓包目前微信支持在pc端打开公众号和程序,我们只需要全局代理到bp上即可。选择好以后点击确认,然后点击应用。(如果你本身设置有vps,可能会冲突,建议关闭vps。)Windows操作windows直接设置--》网络和Internet,找到代理,打开设置为bp的端口即可。
程序测试流程
2022-01-28 15:40:26
程序测试流程分为两个方面,解包可以挖掘信息泄露问题、隐藏的接口,抓包可以测试一些逻辑漏洞、API安全问题。
2020年6月11日,中国信息通信研究院安全研究所联合南都个人信息保护研究中心编写的《程序个人信息保护研究报告》正式发布。2020年新冠肺炎疫情以来,程序为政府机关、医疗机构、企事业单位、社区学校疫情防控的重要工具,进一步推动其快速发展。疫情期间,个人健康信息上报、健康码获取等疫情防控工作大多借助程序开展,涉及大量个人信息的收集使用,存在个人信息泄露、滥用、窃取风险,其数据安全性引起广泛关注。
VX程序逆向分析
2023-06-29 09:16:31
Frida虽然确实调试起来相当方便,但是Xposed由于能够安装在用户手机上实现持久化的hook,至今受到很多人的青睐,对于微信程序的wx.request API。背景知识众所周知,Xposed主要用于安卓Java层的Hook,而微信程序则是由JS编写的,显然无法直接进行hook。对于Xposed则没有这个问题,只需指定微信的包名就会自动hook上所有的子进程。答案是可以的,如下所示:Xposed hook wx.request java层代码得到发送的数据实现如下所示:得到响应数据的Xposed代码就不贴了,方法同上。
是一款程序安全评估工具,支持程序的代码审计和发现敏感信息泄露、接口未授权等安全问题安装方法使用?环境自行构建参数详解子命令默认为?
绕过程序签名验证
2022-07-21 08:30:00
在一些关键业务接口,系统通常会对请求参数进行签名验证,一旦篡改参数服务端就会提示签名校验失败。在黑盒渗透过程中,如果没办法绕过签名校验,那么就无法进一步漏洞检测。
VSole
网络安全专家