0x00 目录
0x01 前言
0x02 利用fd分析与实战
0x03 Python+burp简易搭建代理服务器
0x04 实现自动化exp
0x05 结束语
0x01 前言 本文只是对某校园热水服务app做个测试,其实本人并没有做大坏事,并未传播相关技术,文章以下内容的敏感部分会打码,并且相关厂商已经正在进行漏洞修复,大家看看就好。文章后会提供“Python简易搭建代理服务器”的关键代码,代码简单而且开源,我自己也加了点注释。最后的exp只针对本app,感兴趣的朋友可以看看。以下内容包含个人见解,轻喷。若有误导恳请指出。
0x02 利用fd分析与实战
要对这app做测试,首先了解下app的运作流程。
登录后,app主界面如下
逻辑简单,步骤如下:
1.app使用蓝牙连接水表。
2.先扣你10块余额,转到预扣款里(不够10元扣除所有)
3.水表上显示10块钱,也就是你的预扣款(我只有6元所有会显示6元),水表出水
4.用水,水表上的金额随着用水量而减少
5.停止用水,水表上显示的金额就是余额,将返还给余额
这样分析还不够,我们利用fiddler看看app向服务器的HTTP请求内容
怎么抓手机包看这,讲的比我好我就不多说了:如何用Fiddler对Android应用进行抓包
app启动时的HTTP数据请求截图:
一共请求了5次,没发现什么地方有问题。要想知道这些请求都是做什么的,可以看看请求的get的内容以及post的内容,还可以看看网站的响应内容。从截图中fiddler右下角的“Message=未发现版本”就可以猜想这个http请求可能是检查更新的请求。
我们用的是“fiddler”,大家都知道的,许多利用都是改金额,现在还没用水,还没发生金额的变化,咱们现在用水试试。
点击“点击开始用水”按钮,看看app截图以及fiddler的http请求