系列文章目录

万字长文-通过Fiddler抓包和jd-gui反编译白嫖某“绅士”APP内的正能量资源(二)



前言

在这里插入图片描述

本系列文章,通过对某“绅士”APP,进行抓包和反编译,白嫖其内部正能量资源。
本系列文章旨在对"移动应用安全"实践中所遇到的,所积累到的一些软件安全方面的问题和分析思路及分析工具的用法进行总结。
作者不赞成也不鼓励任何人对任何软件产品进行恶意反编译及分析。
本文为入门级文章。适合新手,高手请忽略,且本人水平有限如文章有不对的地方,请多多指教,共同讨论。


一、准备工具

环境:请自行安装java开发环境
抓包工具:Fiddler
安卓虚拟机:网易MUMU(android 4.4.4)(由于高版本安卓无法抓到HTTPS的包所以为了减少多余的麻烦操作,这里用低版本的安卓模拟器)
反编译工具:jd-gui(此链接的版本支持jdk8及以上版本了)
辅助工具: Postman

二、开整

1.fiddler设置

设置fiddler 这里简单过一下,不懂的可以百度 fiddler手机抓包
在这里插入图片描述
在这里插入图片描述
如上两张图,红圈内的都选上,注意第二张图端口号如果冲突,可以换个别的。

2.模拟器设置

打开模拟器,这里比较坑的是mumu虚拟机这个版本的没用wifi设置。咱们得自己搞一下。

adb_server.exe devices
adb_server.exe connect 127.0.0.1:7555
adb_server.exe shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings

把这段代码复制到文本保存为bat格式,然后找到你模拟器安装目录。如:

在这里插入图片描述
把这个bat放到vmonitor/bin目录下双击运行,模拟器就弹出了WIFI设置界面,长按wifi选择修改网络,代理模式手动,设置如下:

在这里插入图片描述
顺利的话你操作模拟器浏览网页,就能看到fiddler上可以显示数据了
在这里插入图片描述

步入正题

打开某“绅士”APP,发现超过五张后都是毛玻璃效果
在这里插入图片描述

在这里插入图片描述

点击大图后会让你登录
在这里插入图片描述
登陆后就是充值会员
在这里插入图片描述
确定是付费观看无疑,OK,充值,然后观看,本文完~~~

再次步入正题

怎么可能完呢!这不是我的性格,我的性格是白嫖。
OK暂停先冷静一下,
(下面是重点,分析软件可能的问题)
我们以现有的内容分析一下,你仔细看,你发现毛玻璃效果的图片实际上并不一样,这说明什么???嗯???
说明图片应该是传给了APP,而在APP端做的毛玻璃效果。这。。。抓包一看究竟。

先清空fiddler窗口,右键Remove->All session
在APP当前页面刷新一下,发现了东西
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一 我们发现,他没用HTTPS而是用的HTTP进行的通信。
第二 我们发现,右侧的JSON有着完整JSON数据,JSON中的img就应该是图片的地址了。一看还挺多应该是全部的了。但是没用服务器地址,只有资源地址。不急继续看fiddler抓的包。
在这里插入图片描述

好的,我们就用这条数据的HOST地址,在拼接一个我们刚才在JSON中的img的值。到底是不是这样呢。实践是检验真理的唯一标准。
在这里插入图片描述

检验完了,没错!

继续深入

好!继续,我们现在只是知道其中一个专辑的所有图片,那么我想知道有多少专辑。换句话说我要看所有的专辑。有机灵的同学已经知道想到要干啥了!!
没错!爬虫!
想要爬虫,就得知道本专辑的上一级数据,也就是列表数据,
(下面是重点,分析软件实现过程的思路)
按照正常逻辑都应该是前端请求下来一个列表,这个列表中的每一项都包含专辑的id,用户点击列表中的某一项,app会发送一个新请求并将此项中的专辑id作为查询条件,查询出专辑信息,在本APP中也即包含所有图片链接
好!继续实践是检验真理的唯一标准!
刷新软件首页,继续监控Fiddler上的数据。
在这里插入图片描述

这里主要啊有两条数据,先从语义上分析url链接,(这里也是重点,分析接口命名有时会直接找到你想要的,毕竟开发人员也需要进行有意义的命名。这些有意义的接口名称一般就对应具体功能)

第一个接口:star_goods_by_cate 额。。。这个什么鬼。
cate应该时category类别,分类的缩写。
翻译过来大概就是;按类别的明星商品????
看第二个接口:goods_list,这个好理解了 商品列表,不过这APP也没用商品啊。不管了先看它。
直接说结果吧,就是第二个接口
在这里插入图片描述
那么如何检验good_id就是专辑id,对,没错发个请求,看请求参数。
在APP首页随便点一个专辑进去,没错又是最开时的那个API,这回查看请求的Raw
在这里插入图片描述
我们发现了它携带了goods_id和其他参数,并且我们发现Content-Disposition: form-data; 类型;那我们直接看,webForms这个选项下的内容
在这里插入图片描述
清晰多了,接下来怎么搞不用我多说了吧!用你趁手的工具写爬虫吧。
但是真的能成功么?且听下回分解~


总结

本篇通过一个APP产品,简单阐述的实践中对产品进行安全分析的方法。
具体为:

先对界面进行分析寻找可能存在的漏洞,然后进行检验。
了解应用设计过程中的常用的设计逻辑。真的常用的设计逻辑进去分析检验抓取数据。
对接口进行语义化分析,快速找出与我们寻找目标吻合的接口,然后进行分析。

这个APP可以说安全做的不尽人意。简单的一个抓包就可以浏览本应付费的资源。这样所带来的后果不言而喻。
下一篇我们反编译APK继续深入分析该应用。

GitHub 加速计划 / jd / jd-gui
13.81 K
2.37 K
下载
A standalone Java Decompiler GUI
最近提交(Master分支:3 个月前 )
b3c1ced0 - 4 年前
a0fa89c7 - 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐