怎样测试app是否存在广告注入中国铁建隐患排查app

APP 安全测试 - 简书
APP 安全测试
目录一、安装包测试1.1、关于反编译1.2、关于签名1.3、完整性校验1.4、权限设置检查二、敏感信息测试三、软键盘劫持四、账户安全五、数据通信安全六、组件安全测试七、服务端接口测试一、安装包测试1.1、关于反编译目的是为了保护公司的知识产权和安全方面的考虑等,一些程序开发人员会在源码中硬编码一些敏感信息,如密码。而且若程序内部一些设计欠佳的逻辑,也可能隐含漏洞,一旦源码泄漏,安全隐患巨大。为了避免这些问题,除了代码审核外,通常开发的做法是对代码进行混淆,混淆后源代码通过反软件生成的源代码是很难读懂的,测试中,我们可以直接使用反编译工具(dex2jar和jd-gui工具)查看源代码,判断是否进行了代码混淆,包括显而易见的敏感信息。1.2、关于签名这点IOS可以不用考虑,因为APP stroe都会校验。但Android没有此类权威检查,我们要在发布前校验一下签名使用的key是否正确,以防被恶意第三方应用覆盖安装等。可使用下列命令检查:jarsigner -verify -verbose -certs apk包路径若结果为“jar 已验证”,说明签名校验成功。1.3、完整性校验为确保安装包不会在测试完成到最终交付过程中因为知足者趾问题发生文件损坏,需要对安装包进行完整性校验,通常做法是检查文件的md5值,而且一般可以通过自动化做校验。1.4、权限设置检查一般用户对自己的隐私问题十 分敏感,因此,我们需要对APP申请某些特定权限的必要性进行检查,如访问通讯录等。对于没有必要的权限,一般都建议开发 直接支除。Android:直接检查manifest文件来读取应用所需要的全部权限,并结合需求进行校验此权限是否为必须的。manifest文件的修改也需要关注,在增加新权限前需要进行评估。IOS:没有类似manifest文件来查看,IOS的用户权限只有在用户使用APP到了需要使用的权限时,系统才会弹出提示框,提示用户当前APP需要访问照片、联系人列表等组件。我们可以扫描代码来查看项目工程中有哪些权限设置。通过搜索关键类名,如通讯录一般需要访问ABAddressBookRef,照片是UIImagePickerController等。如果是纯黑盒测试,则必须覆盖到所有代码路径才能保证没有遗漏,也可使用代码覆盖率测试判断是否覆盖。二、敏感信息测试数据库是否存储敏感信息,某些应用会把cookie类数据保存在数据库中,一旦此数据被他人获取,可能造成用户账户被盗用等严重问题,测试中在跑完一个包含数据库操作的测试用例后,我们可以直接查看数据库里的数据,观察是否有敏感信息存储在内。一般来说这些敏感信息需要用户进行注销操作后删除。如果是cookie类数据,建议设置合理的过期时间。日志是否存在敏感信息,一般开发在写程序的过程中会加入日志帮助高度,所有可能会写入一些敏感信息,通常APP的发布版不会使用日志,但也不排除特殊情况。配置文件是否存在敏感信息,与日志类似,我们需要检查配置文件中是否包含敏感信息。三、软键盘劫持如果用户安装了第三方键盘,可能存在劫持情况,对此,我们在一些特别敏感的输入地方可以做检查,例如金融类APP登录界面的用户名密码输入框等,看是否支持第三方输入法,一般建议使用应用内的软键盘。四、账户安全4.1、密码是否明文存储在后台数据库,在评审和测试中需要关注密码的存储。4.2、密码传输是否加密,测试中我们需要查看密码是否被 明文传输,如果是HTTP接口,我们可以使用FIddler等工具直接查看。4.3、账户锁定策略。对于 用户输入错误密码次数过多的情况,是否会将账户临时锁定,避免被暴力破解,4.4、同时会话情况。一些应用对同时会话会有通知功能,这样至少可以让用户知识他的账户可能已经被泄漏了。在一定程度上能免提升用户体验。4.5、注销机制。在客户端注销后,我们需要验证任何的来自该用户的,需要身份验证的接口调用都不能成功。五、数据通信安全5.1、关键数据是否散列或加密。密码在传输中必须是加密的,其他敏感信息传输前也需要进行散列或者加加密,以免被中间节点获取并恶意利用。5.2、关键连接是否使用安全通信,例如HTTPS。在获知接口设计后我们需要评估是否其中内容包含敏感信息,如果未使用安全通信,需要知会开发修改。 5.3、是否对数字证书合法性进行验证。即便使用了安全通信,例如HTTPS,我们也需要在客户端代码中对服务端证书进行合法性校验。测试中可以使用Fiddler工具模拟中间人攻击方法。如果客户端对于Fiddler证书没有校验而能正常调用,则存在安全隐患。5.4、是否校验数据合法性。在一些情况下,我们需要有方法来确保服务端下发的明文数据不被篡改。通常开发侧的实现方式是对数据进行数字签名并在客户端进行校验。我们可以模拟后台返回进行相关的测试工作。此外,对于其他一些客户端未进行数据校验的接口,我们也需要有意识地思考如果不进行校验是否会产生问题,并通过模拟后台返回验证。六、组件安全测试这里主要是指Android平台各个组件是否能被 外部应用恶意调用从而带来一些安全问题。包括Activity、Service、ContentProvider、Broadcast等等。采用的测试方法是通过使用drozer工具结合查看代码的方式,具体使用方法可查看官方文档。七、服务端接口测试主要关注服务端接口是否存在以下问题7.1、SQL注入7.2、XSS跨站脚本攻击7.3、CSRF跨站请求伪造7.4、越权访问除了上述服务端问题外,我们还需要结合实际的需求,设计和代码,分析是否需求或设计本身就会带来安全问题。举个例子:如一个购物的应用,下单地的流程包含两个接口,接口A返回订单详情,其中包括订单号码和金额总价。调用接口A后用户在客户端看到一个订单页面。用户点击提交后调用接口B,客户端传给接口B的参数为接口A返回的订单号码和金额总价,接口B的后台根据传给接口B的金额总价从用户账户中扣款,扣款成功后即根据订单号码发货。这一设计有什么问题呢?那就是接口B完全信任了客户端传入的金额总价而未做校验。恶意用户可以直接调用接口B,传入伪造的金额和真实订单号,这样就能以便宜的价格购物。附录1.软件权限1)扣费风险:包括短信、拨打电话、连接网络等。2)隐私泄露风险:包括访问手机信息、访问联系人信息等。3)对App的输入有效性校验、认证、授权、数据加密等方面进行检测4)限制/允许使用手机功能接入互联网5)限制/允许使用手机发送接收信息功能6)限制或使用本地连接7)限制/允许使用手机拍照或录音8)限制/允许使用手机读取用户数据9)限制/允许使用手机写入用户数据10)限制/允许应用程序来注册自动启动应用程序2.数据安全性1)当将密码或其它的敏感数据输入到应用程序时,其不会被存储在设备中,同时密码也不会被解码。2)输入的密码将不以明文形式进行显示。3)密码、信用卡明细或其他的敏感数据将不被存储在它们预输入的位置上。4)不同的应用程序的个人身份证或密码长度必须至少在4-8个数字长度之间。5)当应用程序处理信用卡明细或其它的敏感数据时,不以明文形式将数据写到其他单独的文件或者临时文件中。以防止应用程序异常终止而又没有删除它的临时文件,文件可能遭受入侵者的袭击,然后读取这些数据信息。6)党建敏感数据输入到应用程序时,其不会被存储在设备中。7)应用程序应考虑或者虚拟机器产生的用户提示信息或安全警告8)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户。9)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作。10)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况。11)当进行读或写用户信息操作时,应用程序将会向用户发送一个操作错误的提示信息。12)在没有用户明确许可的前提下不损坏删除个人信息管理应用程序中的任何内容。13)如果数据库中重要的数据正要被重写,应及时告知用户。14)能合理的处理出现的错误。15)意外情况下应提示用户。3.通讯安全性1)在运行软件过程中,如果有来电、SMS、蓝牙等通讯或充电时,是否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能。2)当创立连接时,应用程序能够处理因为网络连接中断,进而告诉用户连接中断的情况。3)应能处理通讯延时或中断。4)应用程序将保持工作到通讯超时,进而给用户一个错误信息指示有链接错误。5)应能处理网络异常和及时将异常情况通报用户。6)应用程序关闭网络连接不再使用时应及时关闭,断开。4.人机接口安全测试1)返回菜单应总保持可用。2)命令有优先权顺序。3)声音的设置不影响使用程序的功能。4)应用程序必须能够处理不可预知的用户操作,例如错误的操作和同时按下多个键。Android 破解视频App去除广告功能详解及解决办法总结
作者:尼古拉斯_赵四
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android 破解视频App去除广告功能详解及解决办法总结的相关资料,这里对视频播放原理及破解去除广告几种方法进行了总结,需要的朋友可以参考下
Android 破解视频App去除广告功能
作为一个屌丝程序猿也有追剧的时候,但是当打开视频app的时候,那些超长的广告已经让我这个屌丝无法忍受了,作为一个程序猿看视频还要出现广告那就是打我脸,但是我有没有钱买会员,只能靠着毕生技能去耍耍去除广告了。下面就来介绍一下如何进行视频广告的去除。
一、视频广告播放原理
首先我们需要了解的一个基本知识点那就是广告其实也是一段视频,那么他肯定有请求地址和播放地址。那么我们的思路就来了,如果能够得到这些地址的话,我们就可以去除广告了,为什么呢?因为我们知道所有的网络请求最终会走系统的hosts文件,在这个文件中记录了很多ip地址和域名的映射关系,系统的每一次网络请求都会先去查找系统的hosts文件,如果发现请求的域名在这里有,就是用域名对应的ip地址进行访问了,所以可以看到hosts文件其实相当于本地的一个简单的DNS功能文件。如果我们有了视频广告请求地址,那么就可以修改hosts文件,将广告请求地址的域名映射成本机地址127.0.0.1,那么这样就肯定会出现广告请求错误,本地播放广告错误,就会直接跳过广告了。当然具体的方式有三种:
第一种方式:设备root之后,修改设备的hosts文件
缺点:设备需要root
优点:一次修改,终身受用,一机在手,天下我有!
第二种方式:设备无root,可以设置电脑作为代理,修改电脑的hosts文件
缺点:设备播放视频必须依赖于电脑代理,不方便
优点:无需进行设备root
第三种方式:修改路由器过滤规则,添加地址屏蔽规则
缺点:设备播放视频必须依赖于路由器的局域网内,不方便
优点:无需进行设备root
但是这种方式可以受益多人使用,一般这种方式用于家庭的局域网内,这样一家人看视频都没有广告了。
二、破解app获取广告域名
上面分析了技术原理,那么下面就要来开始破解了,因为看到上面的原理之后发现最关键的就是如何得到视频广告的地址?在我所知道的就这么几种方式:
第一种:使用抓包工具进行抓包
这种方式难度在于要分析每个地址的请求信息
第二种:破解具体视频app
这种方式成本过大,耗时很久
第三种:从市场中找一个可以过滤广告的app进行破解
这种方式是最方便的,也是最靠谱的。
下面咋们去市场搜一下视频广告过滤的app,结果搜到了一个app名为:净网大师
下面在来分析一下,这个app的去除广告原理:
当有了视频广告的播放地址,方式还是很多的,一种是设备root之后修改hosts文件或者是拦截网络请求进行过滤,一种是非root设备采用VPNService功能进行网络请求拦截。
从他的界面看来他是用了第二种方式,而对于Android中VPN开发不熟的同学可以自己去网上搜一些资料,就是注册一个VPNService,然后获取到系统的VPN权限,然后设备的网络请求都会通过这个Service,只要在这个Service中做处理就可以了。那么这个app中肯定有一个过滤库用来存放市面上所有视频播放的广告地址,这也是我们破解的入口。那么下面就来进行破解操作了。
首先还是使用apktool工具进行反编译,幸运的是他没有做应用加固,反编译很顺利。不过这里最好使用一个jadx工具,他是一个可视化反编译工具,比较方便,查看他的AndroidManifest.xml文件,找到VPNService声明:
然后去查看VPNRouterService类实现:
然后可以全局搜一下Builder这个名称,因为构建VPN必须使用到这个类:
这段代码就是开始构建VPNService了。下面继续深入跟进,最终到了run方法中:
然后在看一下startTunnel方法:
好了,这是一个native方法,下面继续来分析so文件了:
使用IDA工具打开,查看这个so文件内容:
发现这个方法中做了一些初始化工作,那么猜想视频广告地址应该是保存在一个加密的文件中,而且最有可能是一个数据库文件,同时这个过滤地址可以支持服务端更新,因为现在视频广告地址发生了改变了,这个app也是需要感知的。可以看到的确有一个入口可以更新过滤规则:
通过上面的代码可以分析到过滤规则文件加密了,那么可以进入这个加密方法中看看,这里使用IDA的F5功能键得到汇编对应的C代码:
这里就可以清晰的看到了,在这个应用的沙盒中有一个txt文件,这个文件中保存了数据库文件的路径:
然后我们把这个文件导出来,记得他为了掩人耳目,把db后缀名删了,我们需要手动的加上后缀名:v_0.0.32.db文件,可惜的是打开文件之后发现报错:
因为这个数据库文件是加密的,加密算法是AES:
看到这里,我们可能想到了,需要动态调试so得到这个加密的密码了,但是这里不这么干,因为我很懒,动态调试感觉老费劲了,所以就发现了一个捷径,我的思路是这样的:
前面分析了这个app过滤广告的原理是借助于VPN进行拦截请求,那么拦截到请求得到指定域名肯定是去和过滤规则进行比较判断的,因为这些规则是放在数据库中的,所以不可能每次都是去查询数据库中的记录进行比较,这样效率会很低下的,所以这里在想他为了提高效率,应该做了一个缓存池用来存放命中的域名地址。那么就好办了,如果做了缓存池的话,域名地址就是一些字符串值了,从另一方面在本地他应该也有默认的一些字符串地址,防止更新过滤规则失败作为备用的,从这两方面可以知道应该本地有一些广告域名字符串内容。
在IDA中我们可以使用Shift+F12查看一个so文件中的字符串值:
我们可以看到这里有很多字符串的值,可以往下查看,我们关注的内容是域名字符串,那么域名字符串的值有一个特点就是以.com结尾的,所以我们可以这么干,把这些内容复制出来放到一个txt文件中:
然后写一个简单的程序进行过了即可,忘记了Python脚本了,只能靠着老本行的Java语言写了:
代码很简单的,就是读取每一行内容,然后进行字符串过滤,得到域名,因为后面我们得到这个域名之后也是要添加到hosts文件中,所以就直接在这里构造一个ip地址和域名的映射关系了。运行程序之后,生成的文件内容如下:
感觉有点像是各家视频广告请求的域名地址了。
三、修改hosts文件进行验证
那么到这里我们就通过静态方式破解了净网大师得到了市面上视频app播放广告的域名地址了,下面就赶紧操作一下看看效果,这里为了方便,手上正好有一个root的手机,所以直接把上面生成的规则加到设备的hosts文件中,Android中的hosts文件存放的目录是在根目录下的&&/etc/hosts
然后咋们添加成功之后,就立马来体验一下,这里选择了爱奇艺和腾讯视频作为案例操作一下:
首先来看一下爱奇艺的广告过滤效果:
看到了,这里点了两个热门视频都是没有广告的,再来看一下腾讯视频:
看到啦,也是没有广告了,看来是成功了,还有其他视频app,感情去的同学可以自己去尝试了。这里就不在演示了。
有的同学会好奇,既然这个app可以做到过滤广告,那还破解干嘛,直接用就可以了呀,其实这么想就是对程序猿的侮辱,其次是这个app使用了vpn功能,怎么说了,个人对这个功能和app并不怎么放心,感觉设备的所有网络请求都能被他拦截到是件多么恐怖的事,最重要的一点是,本文使用了root设备之后修改hosts文件实现的,如果哪天想通过修改路由器中添加规则,电脑挂代理方式操作那不就扯淡了,你都没有域名怎么办,所以不管怎么样都得破解这个app得到最终的域名,这样才保险,后续自己想怎么搞就怎么搞!
四、知识总结和回顾
到这里我们就完美的过滤了市面上所有视频app的广告逻辑了,在整个过程中我们可以看到有大部分的猜想,有了猜想然后才去进行实践逻辑的,所以说在逆向领域有时候需要丰富的经验,有时候也要敢大胆的猜想。下面来总结一下我们的操作流程:
第一步:了解现阶段视频广告播放的原理
现在移动端app的广告播放原理都是将广告短片和视频内容分开的,那么广告短片应该也是在线请求一个播放地址,如果要是能够得到这个播放地址就可以完成剔除工作。
第二步:有了广告域名如何进行广告过滤
这个需要了解系统在请求网络的时候的原理,其实是先去找本机的hosts文件,看看请求的域名有没有对应的ip地址,如果有就直接使用ip地址作为请求地址了,那么这里的思路就是可以修改hosts文件来做到广告域名请求的拦截工作,也就是在hosts文件中添加广告请求域名的映射关系,把域名指向本地ip地址:127.0.0.1即可
第三步:如何获取视频广告的请求域名
其实这里有多种方式:一种是进行网络抓包,一种是通过破解视频app,一种是借助其他家app。而本文中就是借助了第三方app叫做净网大师来获取到的域名,这时候就需要进行破解净网大师app了,而这个就是本文的一个重点。在破解的过程中我们一部分借助的是逆向经验一部分是借助的大胆猜想,比如猜想他域名肯定会在本地有一个字符串池保存,这个是本次破解的关键步骤。
第四步:有了域名如何进行过滤广告
这里因为前面了解了系统请求的原理,那么就可以有三种方式:一种是修改设备的hosts文件,前提是设备需要进行root;一种是通过挂代理,修改代理机器的hosts文件;一种是修改路由器的过滤规则;这三种方式各有优缺点。
严重声明:本文介绍的知识点完全是从一个技术分享角度出发,绝非用于任何商业活动和用途,如果涉及到任何法律问题将由操作者本人负责。本文作者将不负责任何法律责任!也请各位同学秉着技术角度出发的原则,切勿用于商业中!
视频App如何规避这种操作:作为视频App广告是其生存之本,所以对于这种操作的用户,因为自己也要做一些防护策略,可以本地启动一个后台服务,通过ping命令来检测当前广告域名对应的ip地址,如果发现不是自己域名对应的ip地址,那么就不让其看视频内容,但是这种方式是不是可行还有待验证!
本文主要介绍的内容还是破解相关的知识点,而本文在破解的过程中用到了大量的猜想,然后通过实践去证明猜想,有时候多一些猜想也会让破解过程变得更加便捷,同时通过本文之后,小编以后看视频在也不用看广告了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具you have been blocked可能比炸机还恐怖,Android系统APP的那些安全隐患你了解吗 - 简书
可能比炸机还恐怖,Android系统APP的那些安全隐患你了解吗
近些天有关三星 NOTE 7 炸机事件的讨论层出不穷,大家在挑选一款手机时已经要考虑到人身安全的因素了,简直不要太恐怖。在保证人身安全的情况下,多数用户挑选的手机依然是物美价廉的Android手机,但Android系统因为其开源的特性,使用过程中的不确定性和系统漏洞导致用户在使用Android手机时可能会产生隐私泄露、经济损失、敏感信息泄露等安全问题,新闻报道中的那些手机安全事件也大多是因为如此。
那么,Android系统为什么就那么不安全呢?
由于Android系统是开源的,任何人都可以下载源码。这也就代表着,任何人都可以研究代码,也更容易发现系统漏洞,其开放的系统使得任何厂商均可以生产制造Android设备,而各种硬件厂商和第三方ROM开发者水平参差不齐,导致系统容易出现漏洞。
在安装Android应用时,应用会请求各种各样的权限,这也是普通使用者最容易忽略的一点,许多应用在安装时会请求和该应用使用时完全用不到的权限,这也为日后可能出现的问题埋下隐患。
Android系统的应用可以申请读取短信、发送短信、接收短信、拨打电话、读取通讯录、修改通讯录等重要权限,无需Root即可替换短信、通讯录、相机、输入法等系统应用功能,可以更灵活的去开发第三方应用,但是也给了病毒和恶意软件可乘之机,易造成隐私泄露、短信被拦截(可导致账号被盗、网络支付安全问题)、被恶意扣费、自动给通讯录其他人发送病毒链接等问题。
手机厂商对安全补丁的更新缓慢同样也是一个大问题。系统漏洞被发现后,Google会及时更新系统补丁,而等到各个厂商给用户提供更新时可能已经过了半年以上。甚至有些厂商手机发布后,不再提供更新,导致用户始终处于已知系统漏洞的风险之中。
目前国内第三方ROM市场缺乏监管,安全难以保障:现在很多手机厂商为了自身利益内置各类应用,但很多用户并不喜欢原生系统或内置应用,经常会Root,并刷第三方ROM,也造就了第三方ROM的繁荣市场。但第三方ROM的技术人员水平参差不齐,行业也缺乏监管,系统安全性难以保障,而且手机一旦进行了Root,被病毒、恶意软件利用申请到最高权限,可以执行很多操作,会造成更大的危害。
除了普通用户,Android应用的开发者也同样要关注Android系统的安全问题,前面已经介绍了,Android系统有各种原因导致会有各种安全问题出现,且用户在手机Root后、中病毒等情况下,都会导致普通APP完全没有“隐私”可言,各种私有数据充分暴露。所以,开发者需要考虑在手机被Root后私有数据被暴露的情况下,仍然能保证数据安全,不会泄露用户重要数据及隐私信息。由于手机厂商修复系统漏洞很慢,一旦出现漏洞,开发者不能依赖系统更新,更多时候需要自己想办法避免漏洞对用户造成损失。而且Android碎片化严重,各种版本的系统占有率不相上下,这种情况下,低版本手机安全风险更大,虽然谷歌在每次新系统上都会加强安全措施,但是很多情况下低版本系统仍然暴露在已知漏洞的威胁之下。
Android应用漏洞分布现状
在第三方应用市场分别下载了18个行业的Top10应用共计180个,进行漏洞分析,97%的应用都有漏洞,总漏洞量15159个,平均每个应用有87个漏洞,且23%的Top10应用都有高风险漏洞。(数据来自阿里)
游戏类Top10 Android应用有788个漏洞,平均每个应用含79个漏洞。其中29%是Webview远程代码执行高危漏洞。约19%是高危漏洞,游戏类应用更新迭代频率高,资金,用户下载量大,存在的漏洞风险不容忽视。
金融类Top10, Android 应用有669个漏洞,平均每个含67个漏洞,其中22%是Webview远程代码执行高危漏洞。约34%是高危漏洞,在18个行业中高危漏洞占比最高。
电商类Top10应用共有851个漏洞,平均每个应用含85个漏洞,其中约27%是Webview远程代码执行高危漏洞,可导致恶意应用被植入、通讯录和短信被窃取、手机被远程控制等严重后果。约27%是高危漏洞。
这些漏洞到底是什么,有多危险呢?
敏感信息泄露漏洞
敏感信息可分为产品敏感信息和用户敏感信息和两个方面。
产品敏感信息为:信息泄露后直接对企业安全造成重大损失或有助于帮助攻击者获取企业内部信息,并可能帮助攻击者尝试更多的攻击路径。比如登录密码、后台登录及数据库地址、服务器部署的绝对路径、内部IP、地址分配规则、网络拓扑、页面注释信息包括(开发者姓名或工号、程序源代码)等。
用户敏感信息包括:用户隐私保护主要考虑直接通过该数据或者结合该数据与其它的信息,可以识别出自然人的信息。一旦发生数据泄露事件,可以被恶意人员利用获取不当利润。
由此标准参考,如下字段在数据库的存储以及传输过程中,我们建议加密处理:密码、手机号、快捷支付手机号、Email、身份证、银行卡、CVV码、有效期。
敏感信息可能泄露的方式有:代码、数据库、配置文件中明文存储敏感数据、日志中打印敏感信息、通信过程中明文传输敏感信息。
一旦产品敏感信息泄露,会导致服务器处于危险境地,可能被入侵攻击,个人敏感信息泄露也会导致账号被盗、网银盗刷等,给普通用户造成经济损失。
相关案例:
WebView远程代码执行漏洞
WebView组件中的addJavascriptInterface方法用于实现本地Java和JavaScript的交互,但是该函数并没有对方法调用进行限制,导致攻击者可以调用任何JAVA类,最终导致JavaScript代码对设备进行任意攻击。该漏洞可被用来实现网页挂马,导致手机中毒等。
相关案例:
任意调试漏洞
AndroidManifest.xml文件中debuggable属性值被设置为true时(默认为false),该程序可被任调试 。该漏洞可被动态调试,增加了apk被破解、分析的风险。
HTTPS中间人劫持漏洞
中间人攻击是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
攻击者可通过中间人攻击,盗取账户密码明文、聊天内容、通讯地址、电话号码以及信用卡支付信息等敏感信息,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制、恶意扣费等攻击意图。
相关案例:在各大漏洞平台上,有大量存在HTTPS证书不校验漏洞,例如国内绝大部分Android APP存在信任所有证书漏洞、亚马逊最新官方Android版存在一处信任所有证书漏洞、Yahoo雅虎在国内访问遭遇SSL中间人攻击、携程旅游网最新Android客户端https未校验证书导致https通信内容完全被捕获。
加密算法漏洞
使用AES/DES/DESede加密算法时,如果使用ECB模式,容易受到攻击风险,造成信息泄露。代码中生成秘钥时使用明文硬编码,易被轻易破解。使用不安全的Hash算法(MD5/SHA-1)加密信息,易被破解。生成的随机数具有确定性,存在被破解的风险。
加密信息被破解会导致信息的泄露。 如果加密的是账号、密码、银行卡、身份证等信息,破解后可被不法分子用于诈骗、盗号、盗刷等。
除了以上客户端可能出现的这些漏洞,服务端可能出现的安全漏洞同样不能忽视。目前大量业务从传统的PC端扩展到移动端,在服务器上运行业务逻辑也是较为安全和低成本的实现方式。但正因为业务逻辑是在服务端处理,如果不对作为入口的客户端进行强有效的安全校验,客户端很容易被黑客作为突破口,用于挖掘服务端的业务风险漏洞。理论上,web服务器所有安全问题也会出现在App的服务端。而Web安全已经发展了很长时间,研究人员、黑客也很多,技术成熟,更容易被黑客发现漏洞。
SQL注入漏洞
SQL注入攻击是黑客对数据库进行攻击的常用手段之一。原因是没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据。该漏洞可导致用户信息泄露,被不法分子用于诈骗、出售信息等。
相关案例:
越权访问漏洞
一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,在进行增删改查的时候,没有判断所需要操作的信息是否属于对应的用户,可以导致用户A可以操作其他人的信息。该漏洞可导致黑客查看、修改他人用户信息、信息泄露等。
相关案例:
接口未限制导致撞库漏洞
撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。同样容易引起账号被盗、信息泄露等严重问题。
相关案例:
跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,使得用户信息谢咯,从而达到恶意攻击用户的目的。
相关案例:
业务逻辑漏洞
业务逻辑漏洞是指由于程序逻辑不严密或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误。常见漏洞包括:任意密码修改(没有旧密码验证)、密码找回漏洞、业务数据篡改等。该漏洞易造成账号被盗、免费购物、刷钱、刷游戏币等严重问题。
相关案例:
如何最大限度的避免这些漏洞的出现
在目前大多数应用的测试团队中,大都缺乏安全测试的意识和能力,且安全测试专业性强、涉及面广、人才稀缺,组建安全团队成本太高,想做安全测试也有心无力。
蒲公英专家测试同样也注意到了以上的问题,本着更好的为开发者服务的初心,新产品安全性测试也正在最后的打磨阶段,即将在不久后推出,详情可访问咨询客服,我们也会根据您的需求在最后阶段完善我们的产品。
全球221个国家和地区超过100万开发者和400万款应用都在使用

我要回帖

更多关于 户外广告安全隐患 的文章

 

随机推荐