APP服务端漏洞攻击:APP渗透实际上分为两个部分,包括APP前端和APP后端, APP后端多数是管理后台。APP前端攻击即对APP本身进行渗透攻击,APP后端攻击是对APP管理后台进行攻击。
APP前端攻击类型:反编译漏洞(软件破解、挂马)、数据的存储与传输(窃取、 篡改文件)、密码泄露 (读写内部存储)、组件安全 (利用组件问题发短信、发微博等)
APP后端攻击类型: SQL注入、 XSS跨站脚本、文件. 上传、XML注入、文件包含等
一、APP前端攻击案例(DIVA)
漏洞一: LogCat输出敏感信息漏洞
在APP的开发过程中,为了方便调试,开发者通常会用logcat输出info、debug、 error 等信息。如果在APP发布时没有去掉logcat信息,可能会导致攻击者通过查看logcat日志获得敏感信息。
攻击利用过程:
安装DIVA APP->反编译APP- >使用apktoo|获取smail代码->漏洞调试利用
漏洞二:硬编码问题
-很多开发者在开发APP的时候,明明是可以用可变变量的,但是由于没有相关安全开发意识,使用了硬编码的方式,导
致存在一定的安全风险。 具体有关硬编码的定义可以参考百度,开发人员在开发的过程中应该尽量避免使用硬编码。先
看看问题2涉及到的代码HardcodeActivity.class, JD-GUI打开, 相关代码如下:

漏洞三:不安全的数据存储(敏感信息泄露利用)
本案例中,存在敏感信息泄露主要是APP开发者将敏感数据保存到配置文件中。
首先看敏感数据存储在配置文件中的情况,对应的漏洞代码文件InsecureDataStorage1Activity.class, 继续用JG-GUI打开,漏洞代码片段如下:

二、漏洞防御:
1、针对Logcat日志输出风险
-日志不要打印任何敏感信息、协议逻辑等,并且在程序发布时,一定要将日志的输出删除掉,而不是仅仅
的做输出控制。
2、针对硬编码问题
应该本地分段加密存储,也考虑使用白盒密钥,避免硬编码密钥在代码中。
3、针对不安全的数据存储风险
在移动应用使用的过程中,客户端会存储相关的用户数据,为了防止攻击者通过root环境非法访问用户敏感数据。可以使用以下安全策略:
a)、 对用户名、密码等敏感信息,不要存储在本地。
b)、 如果确实需要存储,使用强加密算法对本地存储的数据进行加密处理。