Android App漏洞学习(一)

DIVA(Damn insecure and vulnerable App)是一个故意设计的存在很多漏洞的Android app,目的是为了让开发、安全工程师、QA等了解Android app常见的一些安全问题,类似dvwa,也可以把它当成一个漏洞演练系统。下载地址:

http://www.payatu.com/wp-content/uploads/2016/01/diva-beta.tar.gz

测试环境

1,安装JDK,很多工具需要用到Java环境;

2,安装Android开发工具(ADT,Android studio),下载地址:

https://developer.android.com/studio/index.html

3,安装APKtool、Drozer、dex2jar、JD-GUI

Apktoolss下载地址:

https://bitbucket.org/iBotPeaches/apktool/downloads

Drozer下载地址:

https://labs.mwrinfosecurity.com/tools/drozer/

Dex2jar下载地址:

https://sourceforge.net/projects/dex2jar/?source=typ_redirect

JD-GUI下载地址:

http://jd.benow.ca/

或者使用Androl4b虚拟机,下载地址:

http://pan.baidu.com/s/1pL1wewV 密码:drgj

PART 1  不安全的日志输出

该问题主要是由于app代码中将敏感信息输出到app的logcat中,查看app记录的logcat,可以使用如下命令:

1.adb logcat

2.输入用户凭证,观察日志输出。

3.源码中:Log.e()

可以看出用户输入的内容被输出到了日志中,看看具体的漏洞代码,用JD-GUI打开LogActivity.class文件,相关代码如图:

PART 2 硬编码1 (class源文件)

很多开发小伙伴在开发app的时候,明明是可以用可变变量的,但是由于没有相关安全开发意识,使用了硬编码的方式,导致存在一定的安全风险。具体有关硬编码的定义可以参考百度,开发人员在开发的过程中应该尽量避免使用硬编码。先看看问题2涉及到的代码HardcodeActivity.class,JD-GUI打开,相关代码如下:

查看HardcodeActivity.class:

攻击者只需要在app中输入秘钥vendorsecretkey就可以访问成功,如图:

PART 3 不安全的存储1(shared_prefs/xxx.xml)

不安全的数据存储也是App常见的安全问题之一,主要有三种方式:

1,将敏感数据保存到配置文件中;

2,将敏感数据保存在本地的sqlite3数据库中;

3,将敏感数据保存在临时文件或者sd卡中。

SharedPreferences类存储的数据会以.xml的形式存储在

/data/data/apppackagename/shared_prefs

目录下。如图:

cd /data/data/jakhar.aseen.diva/shared_prefs

PART 4 不安全的存储2(databases/xxx.db)

用户的敏感信息存储到本地的数据库中,一般app对应的数据库目录:

/data/data/apppackagename/databases

本例中是:

/data/data/jakhar.aseem.diva/databases

如图:

cd /data/data/jakhar.aseen.diva/databases


PART 5 不安全的存储3(临时文件)

cd /data/data/jakhar.aseen.diva/

PART 6 不安全的存储4(SD卡)

存储在sd卡中,漏洞代码片段:

总结

欢迎大家留言与我交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值