关于IAP的破解
介绍
大概在今年7月份,有俄罗斯黑客破解了苹果的应用内付费(In-App Purchases),设备在不越狱的情况下就可以免费获得来自苹果官网App Store里应用的收费道具。受影响的产品众多,包括著名的Angry Birds,切水果,Mega Jump, Pandora等。这里有一份受影响的著名的游戏应用列表。
正常的越狱行为还是比较复杂的,需要下载破解软件,并且操作进入DFU模式,所以大部分人并不能够方便地越狱。但该方案不需要越狱就可以破解应用内付费,给用户实施该行为提供了方便。
为了验证破解的有效性,我今天试了一下,确实能够直接绕开苹果的应用内付费就直接完成购买操作。而苹果也在它的官方文档上特别注明了该漏洞的存在,截图如下:

从该文档中我们可以知道,iOS6以下的所有设备(包括越狱或非越狱设备),都会受到该漏洞的影响。
攻击原理
我们知道通常的IAP购买行为,从逻辑上就是设备向App Store发起一个购买操作,App Store在验证过用户的密码确认身份后,扣费并返回购买成功的凭证,整个网络操作是通过SSL加密的。
该IAP破解方法,是让设备误以为另一个网站就是AppStore,而向它通讯,而这个假AppStore返回一个假的购买成功的凭证,这样就欺骗设备完成了购买。整个欺骗使用的手段包括:
- 用户给自己添加一个受信任的证书以完成SSL通讯的证书校验
- 设置一个伪DNS(域名解析服务)地址,把AppStore的域名指向假的地址。
应对措施
现在看来,暂时有效的应对方法是,将该交易凭证上传到我们自己的服务器上,然后让我们自己的服务器与AppStore进行验证,以确认该凭证是否是伪造的,然后将验证结果返回给设备。苹果的官方网站上也是这么介绍的。这样做麻烦的地方是,对于那些游戏和工具类应用,增加了服务器开发和维护的开销。
但是就象苹果自己也意识到的那样(如下图),既然破解者可以欺骗设备来和AppStore通讯,那么同样破解者从原理上,也可以欺骗设备同我们自己的服务器通讯,到头来,设备本身无论如何是无法知道自己的信息的真实性的。

对于这件事,我们只能期望于:因为我们的应用用户量不大,验证协议又不是通用的,所以破解者需要专门针对我们的通讯协议进行破解,这需要他本身有动力做这个事情,并且要花费他一些时间。所以可能他觉得做这个事情没什么挑战和意义,就不破解我们了。在这件事情上,“希望他不要破解”,好象也是我们唯一能做的事情。
乐观一点讲,AppStore上有上百万的应用,如果所有应用都采用服务器验证购买凭证,黑客一一针对破解,确实也太不可能了,所以这件事情还是很有必要的。另外随着iOS6的普及,该漏洞也将被修补掉,所以大家也不用过于悲观。
关于IAP的破解的更多相关文章
- In-App Purchase(iap)快速指南
点击IOS IAP APP内支付 Java服务端代码直接跳转到示例点击直接跳转到示例 iap简介 在应用中内嵌Store,在iOS应用中使用Store Kit framework来实现In-A ...
- IAP 破解漏洞验证
IAP支付有个漏洞,用户使用的可能是IAP Free 或者俄罗斯破解什么的,所产生的交易号:170000029449420 product_id:com.zeptolab.ctrbonus.super ...
- [转]iOS游戏如何防御外挂及IAP破解
http://www.j1f3.com/news/game/21371.html 今年3月初写过一篇<iO平台游戏安全小议>,到现今已有7个月了.在这段时间内,iOS平台上的安全问题也产生 ...
- NXP恩智浦P89V51RB2/RC2/RD2单片机解密芯片破解方法!
NXP恩智浦P89V51RB2/RC2/RD2单片机解密芯片破解 P89V51RB2/RC2/RD2是一款80C51微控制器,包含16/32/64kB Flash和1024字节的数据RAM. P89V ...
- STC系列STC10F芯片解密STC10L单片机破解复制技术
STC系列STC10F芯片解密STC10L单片机破解 STC10F12XE | STC10F12 | STC10F10XE | STC10F10解密 STC10F08XE | STC10F08 | S ...
- 苹果ipa软件包破解笔记
苹果的验证机制: Appstore上的应用都採用了DRM(digital rights management)数字版权加密保护技术,直接的表现是A帐号购买的app,除A外的帐号无法使用,事实上就是有了 ...
- 利用ZjDroid对 <捕鱼达人3> 脱壳及破解过程-转
http://blog.sina.com.cn/zihao2015 <捕鱼达人3> 刚出来不久,就被鬼哥Dump出来dex,随之破解也就轻而易举.一开始我用ZjDroid神器试验过,但是没 ...
- iOS应用内支付(IAP)的那些坑
本文转载至 http://blog.devtang.com/2013/04/07/tricks-in-iap/ 前言 udacity 中的在线课程 <How to build a startup ...
- Kali对wifi的破解记录
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...
随机推荐
- 利用IdentityServer3在ASP.NET 5和Angular中实现OAuth2 Implicit Flow
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:之前介绍过的IdentityServer3虽然是基于Katana开发的,不过同样可以托 ...
- C结构体中数据的内存对齐问题
转自:http://www.cnblogs.com/qwcbeyond/archive/2012/05/08/2490897.html 32位机一般默认4字节对齐(32位机机器字长4字节),64位机一 ...
- 从github下载某个git库的4种方法
转自:http://blog.csdn.net/feiniao1221/article/details/7516421 以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接 ...
- loj 1167(二分+最大流)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26881 思路:我们可以二分最大危险度,然后建图,由于每个休息点只能 ...
- 【项目经验】navicat工具 SQLServer数据库迁移MySQL
新近领了一个任务,就是把SQL Server的数据库迁移到My Sql上,经过查资料,圆满完成任务.分享一下流程. 1.首先,在自己的My Sql数据库上新建一个数据库. 2.打开新建的My Sql数 ...
- T-SQL中只截取日期的日期部分和日期的时间部分
SQL Server 中截取日期的日期部分: ),) SQL Server 中截取日期的时间部分: ),) ),DD_133,)
- 用DOM4J解析XML文件案例
用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:
- SoapUI之webservice接口测试(一)
1.新建soap project 添加后出现接口内容 2.为了方便后续的测试,以防某些参数删除错了,这边需要新建测试集 3.点开新建的测试集可以发现,里面的内容跟原始测试集内容是一样的 然后就可以在这 ...
- 【转】Linux终端下 dstat 监控工具
转自https://linux.cn/article-3215-1.html dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这 ...
- 【转】使用Apache Kylin搭建企业级开源大数据分析平台
http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭 ...