获取基本URL Schemes
将IPA包后缀名修改为ZIP,然后解压,进入Payload目录会看见一个.APP后缀名文件,选中文件右击显示包内容:
找到Info.plist文件并打开,搜索关键词URLSchemes:
被String标签所包含的就是微信的URL Schemes:
wexinVideoAPI
weixin
weixinapp
fb290293790992170
wechat
QQ41C152CF
prefs寻找完整URL Schemes
如上已经了解了如何获取最基本的URL Schemes,但是这远远不够,因为完整的URL Schemes有4部分,而目前只找到了第一部分,仅仅能做到的功能就是启动,而想找到更多的非基本URL Schemes需要其他的方法 。有很多方法在这里不一一例举了,只例几个常见的思路供你参考 。
从手机站点页面获取
一般网站都会有这些子域名:m\\h5\\mobile…
打开这些子域名,利用Chrome的开发者工具(F12)切换为手机模式视图,这样就能模拟手机去访问了:
那在这里可以在该页面的HTML代码中寻找URL Schemes(前提是你已经知道了基本的URL Schemes)
在这里我从页面的JavaScript代码中发现了很多URL Schemes:
有些还有参数,可以根据命名来猜这些URL Schemes的含义,例如path: “mst://jump/core/web/jump”,就可以知道这个是做Web跳转的,那跳转到哪个地址是什么参数控制呢?下面也有对应的告诉我们是url参数去控制,也就组成了这样一个URL Scheme: mst://jump/core/web/jump?url=https://gh0st.cn
QRLCode解析地址获取
现在很多网站都支持二维码登录,就比如如下这个网站:
保存该二维码进行二维码解析:
文章插图
解析得出这是一个URL Scheme,修改json参数url的值为我的网站尝试在浏览器中打开成功的触发了跳转APP,并且在APP中访问了我的网站 。
逆向APP
不仅是iOS,安卓也支持URL Schemes,而一般的定义是一样的,所以你可以基于获取基本URL Schemes这个步骤将.APP文件的后缀去掉,这时候这个文件就变成了一个文件夹拖到Sublime里面全局搜索”weixin://“即可 。
至于安卓的APK的逆向可以参考我之前的一篇文章,可以在源代码中、所有文件内容中搜索URL Schemes 。
漏洞案例
APP内URL跳转问题
其实严格来讲这不算是漏洞,毕竟利用有限,但又和一切能产生危害的问题都算漏洞这句话所冲突,所以在这还是选择列了出来,至于厂商觉不觉得是个安全性问题,还要看他们对“安全风险“的定义 。
如何发现这类问题?在上文中我提到了如何发现URL Schemes,只要你发现了这种类型的URL Schemes就可以尝试替换地址为你的地址然后使用浏览器打开查看是否能在APP内跳转到你的地址,当然利用方式也很简单,构建一个HTML页面即可,然后将网址发送给“受害者”即可:
window.location=\'URL Schemes\';
凭证窃取(设计不当)
在做一次漏洞挖掘的时候也碰见了很多次这种问题,大概的描述下就是我找到了能在APP中打开网页的入口方式(例如:二维码扫描、URL Schemes动作),让APP访问到我的地址,这样我就可以直接获取到APP中登录后的凭证信息 。
利用方式和URL跳转的方式是一样的;关于这方面漏洞产生原理得出一个可能“不太严谨的结论”:APP在做HTTP请求的时候默认所有访问的都是信任域,所以带上了本身已经登录的凭证去请求了 。
结合漏洞扩大攻击面
在一次APP的漏洞挖掘中发现了一个JSONP劫持的问题,但是在这里只会对APP用户产生影响,在没有二维码扫描的情况下就需要结合URL Schemes来扩大这个漏洞的影响面,而不是局限于self 。
- 美团属于哪个公司,京东、美团的大股东都是腾讯?
- 小乌龟什么时候开始冬眠,喂食量要怎么把控比较好?
- 楼盘最好的楼层是几楼 买房几楼是最佳楼层
- 重庆各区县行政级别 重庆哪些区县是正厅级
- 蔚来电动车价格为什么那么贵 蔚来汽车为什么那么贵
- 2022摩羯座的幸运色是什么颜色 摩羯座的幸运色是什么颜色
- 摩羯座今日幸运数字是什么号 摩羯座今日幸运数字
- 初中毕业上什么技校比较好 初中毕业上什么技校比较好呢
- 男人的精子对女人有什么好处?
- 生化危机6出现Failedtoinitializesteam解决办法 failedtoinitializesteam是什么意思