⼿机浏览器直接唤起⽅案调研
背景
双⼗⼆前⼀天半夜,正准备睡觉,公司运营打电话过来,说发现第三⽅公司有页⾯可以访问直接唤起。说完在公司的聊天⼯具⾥发来⼀段连接,叫我调研⼀下能不能实现,
如果能实现,双⼗⼆马上可以⽤起来。
分析
if(!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) && / st(navigator.userAgent)){
place('bdbox://utils?action=sendIntent&minver=7.4¶ms=%7B%22intent%22%3A%22weixin%3A%2F%2Fdl%2Fbusiness%2F%3Fticket%3Dt59a2235a3662135bfb0e8f7edccc22c5%23wechat_redirect%23wechat_redirect% }else{
place('weixin://dl/business/?ticket=t59a2235a3662135bfb0e8f7edccc22c5#wechat_redirect#wechat_redirect');
}
setTimeout(function(){ElementById("loading").style.display="none";},3000);
怎么设置主题背景代码的逻辑是,判断不是苹果的设备,并且访问 UA 中包含 baiduboxapp 字符,修改页⾯连接为
bdbox://utils?
action=sendIntent&minver=7.4¶ms=%7B%22intent%22%3A%22weixin%3A%2F%2Fdl%2Fbusiness%2F%3Fticket%3Dt59a2235a3662135bfb0e8f7edccc22c5%23wechat_redirect%23wechat_re 否则修改页⾯连接为
weixin://dl/business/?ticket=t59a2235a3662135bfb0e8f7edccc22c5#wechat_redirect#wechat_redirect
因为研究唤起,先不看 baiduboxapp,直接看唤起短链 weixin://dl/business,⾕歌搜索下发现是第三⽅临时会话接⼝。这是⼀个内部的隐藏接⼝。链接中看
到短链有个 ticket 参数,多刷新⼏次页⾯,ticket 参数会发⽣变化,但是唤起页⾯的连接没有变。现在关键点成了怎么根据⾃⼰的页⾯⽣成合法的 ticket 参数。
在想怎么⽣成 ticket 的时候,⾃然会想到是如何解析这个参数的,看看能不能从解析的逻辑中反推出⽣成的逻辑。
了客户端的同事,反编译安卓客户端,发现客户端⾥的逻辑很简单,拿到短链后,直接传递给服务器,服务器就返回了真实的地址
好了,这样整个流程都通了。
了⼀个京东云服务平台的咨询,得到的答复是唤起的接⼝,现在被⼈恶意调⽤,存在很⼤的安全风险,京东内部已经建⽴了⽩名单和⿊名单的机制,打击恶意调⽤⾏为,
不接受也不会透露⽩名单。
后续
前⾯搜索相关内容的时候还查到 51万年历,陌陌,招商银⾏都有⽣成 weixin://dl/business/?ticket= 连接的服务。想到既然京东的接⼝是⼿Q 给的,那⼿Q ⾃⼰必然也有接⼝权
限,并且应该会有其他类似京东的合作客户会有权限,像前⾯⼏家公司。
尾声
看前⾯的分析很明显看出这都是灰⾊产业的⼀部分。在和⽹友交流问题的过程中,也收到好多 QQ,邮件等信息,出卖直接唤起的服务。报价从 700元到1000元,保持⼀个
连接唤起⼀个⽉时间。灰产果然暴⼒。
作为⼀个五好公民,我就不趟这个浑⽔啦。
以上分析仅供学习交流,请勿⽤于⾮法⽤途,否则后果⾃负。
发布评论