移动安全测试 android 安全 (2) - Activity 绕过 、 Cookies 信息明文数据保存

Yat_Ho · 2016年07月15日 · 最后由 baicai 回复于 2016年10月06日 · 1953 次阅读

Activity 绕过


-- --
缺陷描述 直接调用 activity 可以绕过一些机制。
分析方案 Drozer 绕过 activity 进行登录(方法详见下测试方法说明)
对应威胁 设计缺陷
风险等级 中风险
后果 绕过原有机制,进行操作。
修复方案 开发阶段防护:将不必要的导出的组件设置为不导出,即 exported 的属性为 false;对权限进行控制

测试方法:

  • 使用 drozer 分析 apk 攻击面,查看暴露 activity
    • Droze 命令:adb forward tcp:31415 tcp:31415(adb 连接手机 Agent 端口)
    • drozer.bat console connect (连接至手机或者模拟器,连接成功显示 Android 标志图)
    • run app.package.attacksurface “XXX 包名” 分析应用组件暴露面
  • 如存在 activity 组件暴露,查看 activity 暴露组件
    • run app.activity.info -a “XXX 包名”
    • Drozer 越过启动 activity
  • run app.activity.start --component “包名” “activity 名”
    • 检查应用界面,是否越过前置 activity 启动 (如 APP 越过启动成功,则漏洞判断成立)

Cookies 信息明文数据保存


-- --
缺陷描述 客户端程序登录后,cookie 信息明文存储在本地数据库中。
分析方案 Fiddler 抓包(方法详见下测试方法说明)
对应威胁 敏感信息泄露
风险等级 高风险
后果 恶意程序通过系统漏洞提权,窃取敏感信息。
修复方案 采用对 Cookies 数据库进行加密保护。(第三方服务可选邦邦,爱加密)

测试方法:

  • 配置 fiddler 抓包客户登录时 cookies 数据(url 中标注有 jsessionid)
    • 获取 jsessionid
  • 导出应用数据库,查看 cookies 数据
    • Adb pull /data/data/” XX 包名”/databases/* E:/” 指定导出文件夹” 或 使用 DDMS file explorer->data->data,然后找到你运行过的项目导出
    • 使用 sqlite expert 查看数据库-- file->open database(也可使用 android 的 sdk 中自带 sqlite3.exe 进行查看
  • 比对 cookies 数据存储 jsessionid 值,判断同抓包数据是否一致(如比对一致,则漏洞判断成立)
共收到 1 条回复 时间 点赞

楼主加油

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册