First
首先呢说一下我个人对本次抓包利用的理解,哪一款请假软件就不方便透漏了,利用小黄鸟抓包,篡改服务器的响应数据来实现在本地显示请假的效果,意思就是用的是正规软件,但可以任意的修改请假时间啊、姓名啊之类的,所有接收到的数据都可以改,但是也有个缺点,二维码是无效的,实际上二维码是服务器随机生成的字符串,具有时效性,在本地通过某些调用啥的转换为二维码。其实原理也很简单,每次进入请假页面时,本地就会先向服务器发出带有个人识别特征的请求,服务器接受到请求之后,然后通过查询就会知道你有没有请过假、是否在请假中、哪个班的等等等等,然后服务器就会把这些数据信息再发送到手机上,这个就是服务器的响应。重要的就要来了,这时候我们就要想办法在软件接收到这些数据之前修改它,修改完之后,再让软件接收,这样就实现了抓包改数据的目的。抓包的思想有很多用处,在此仅作为交流思想,切勿用以违法犯罪。
Second
需要用到的软件:HttpCanary
现在步入正题:先来说一下,因为我们是想要拿到请假的数据,所以需要进行一次正常请假之后才能拿到我们想要的数据。下面就是在正常请过假之后的抓包过程。首先打开请假前的这个页面,因为我们要尽可能容易的找到相关的连接,所以连接越少越容易找到
现在打开小黄鸟,点击那个飞机进行抓包
运行之后再回到请假页面,一直进到这个正常请假的页面
再回到小黄鸟停止抓包,对数据包进行分析,可以发现三个连接就是本次抓包的目标
https://************************/wec-counselor-leave-apps/leave/stu/detail
https://************************/wec-counselor-leave-apps/leave/stu/list
https://************************/wec-counselor-leave-apps/leave/checkApplyCondition
接下来就是分别找到对应的数据包,找到各自的响应信息。如下:
分别复制这三个表单内容存为文本文件(数据一定要完整,否则会出错),待会儿要用,要能区别开,最好还是用condition,list,detail分别命名,容易区分。接着再回到抓包的列表,找到对应的包,长按
选择静态注入→命名→下一步再点击响应→编辑响应体的内容→
到这,上传文件或者在线编辑都可以,上传的文件就是刚才保存的文本文件,在线编辑的话就是把刚才的内容完整的复制进去,别忘了先清空原有数据,一定要对应!一定要对应!三个都需要按照这个步骤修改。
OK,改完保存收工,先打开请假的之前的那个页面,就是上面第一张图,再运行小黄鸟,回到请假页面就会看到修改过的页面。
Final
像这种明文传输的,只要抓到包其实就可以修改,也就是说得到一次数据,就可以一直使用,即使它软件更新,也不会有影响;但如果数据包被加密,就有点曲折了,需要进行逆向分析出解密函数等等等等,具体还没尝试过,就不说那么多了