前几天和萝卜成功的薅了移动onenet的羊毛,利用tasker配合mqtt client上传手机的定位、电量等等各种信息,方便了群友没有公网IP的环境,具体内容坛内自行搜索.
目前测试萝卜的三星、小米手机添加tasker白名单,后台进程会被保留不会被杀掉可以正常上传信息.但是,我的华为手机就各种GG,上传信息的时候必须得mqtt client后台运行,tasker在界面运行才能正常使用,锁屏和后台驻留就会失效.所以,华为目前为意外情况(谁让余大嘴吹XX说系统流畅运行500天,真不是白吹,各种杀进程).
so,我想到了一个曲线救国的方法
华为自带云服务里边有查找手机定位的功能,可以在另外的手机上使用查找华为手机APP或者网页登陆华为云服务
本身系统自带进程不存在被杀死的情况,随用随调数据,美滋滋,如果可以实现的话基本可以抛弃tasker+mqtt client,全部转移到此方法.据我了解小米、vivo、oppo、魅族等手机都带有云服务定位功能,虽然不清楚其他家的手机是否也是和华为一样验证客户端合法性是不是这么复杂,有兴趣的童鞋可以抓包测试下
下面进正题
用自己不能再低的技术水平来抓包,测试是否可以利用抓包来获取想要的信息
这是抓到的包内容,包含了经纬度、电池电量和是否在充电状态的信息
这个是定位接口,使用Apipost软件模拟发包测试,发现几个问题
1.如果在网页点击了"查找手机",网页跳转到地图显示手机位置时,抓到的包转移到apipost测试可以正常获取包内容
但是!!! 云服务网页做其他操作或者关闭云服务网页后,这个包就不能正常获取内容,经简单分析发现有个"csrftoken"值和cookie里的"csrftoken"值会变化,每操作一次就会变化token值,如果值不正确就会拒绝客户端请求
又经过简单分析,发现每一次网页操作返回的包内容包括了下一次提交请求的"csrftoken"值
emmm…现在的问题就是在nr如何获取上一次发来的token值保存到cookie里和包含在csrftoken里
按我的理解就是需要模拟网页登陆,因为是从客户端第一次登陆成功后才能产生token值,如此更新循环下去
比如:nr模拟网页登陆到cloud.huawei.com,输入账号和密码登陆成功后会返回一个包,包含set-cookie,然后缓存到变量里转移到定位接口.post定位请求是加载这个set-cookie.应该就能返回最终需要的信息内容了
在此请求各位大佬在闲暇时间帮忙分析下,也可以指点小弟如果去实现这个功能,虽然知识不足但是愿意学习~
希望大佬能够伸出援手帮助我们华为手机定位的问题
在此感谢
如大佬需要账号测试抓包请联系我 我的群名是@有问题找盐巴 or 十@esxi&ubuntu&docker,随叫随到