什么是schemes,iOSURLSchemes与漏洞的碰撞组合案例?( 三 )


利用流程:
用户打开https://gh0st.cn/test.html,test.html内容:
window.location=\'mst://jump?url=https://gh0st.cn/jsonp.html\';
用户点开之后启动mst应用执行jump动作,跳转到https://gh0st.cn/jsonp.html,jsonp.html内容:
function test(data){ document.write(JSON.stringify(data)) }URL Schemes劫持
这个漏洞是15年在乌云爆出来的,漏洞编号为:wooyun-2015-0103233,大家可以自行去查看 。
这个问题说白了是一个流程上的缺陷,苹果官方没有限制APP定义的URL Schemes名字,导致其他APP也可以定义“支付宝”的URL Schems名字;又因为iOS系统判定URL Schemes优先级顺序与 Bundle ID 有关(一个 Bundle ID 对应一个应用),如果有人精心伪造 Bundle ID,iOS 就会调用恶意 App 的 URL Schemes 去接收相应的 URL Schemes 请求,这就导致了可以被劫持 。
好了,这篇文章的内容蜀川号就和大家分享到这里!