移动安全app渗透测试之渗透流程、方案及测试要点讲解

news2024/11/19 9:30:27

被产品经理分到了个app测试的活,(话说为啥是产品经理给派活,我不是归技术总监管么),包含安卓端的和ios端的,有点懵逼,说好的web渗透测试和服务器端渗透测试呢,虽然懵逼,不过凭借我强大的自学能力,有了下面这篇文章,工欲善其事,必先利其器。先整理好思路,渗透起来才能顺利不迷茫。

安全威胁分析:

app渗透测试,来源的威胁不外乎三方面:

其实web端好像也是这三方面哈。

面临的主要风险 :

客户端:

  • 反编译
  • 调试
  • 加密/签名破解
  • 输入记录
  • 导出组件
  • 进程注入
  • ...

数据传输:

  • 信息泄露
  • 传输数据篡改
  • 重放攻击

服务端:

  • 心血
  • ST2
  • 注入
  • 跨站
  • 越权执行
  • 上传下载
  • 弱口令

APP安全测试内容 :

以及服务器和业务逻辑安全

安全测试流程:

 移动APP安全测试要点

安全检测要点:

Allowbackup漏洞

AndroidManifest.xml文件中allowBackup属性值被设置为true。当allowBackup标志为true时,用户可通过adb backup来进行对应用数据的备份,在无root的情况下可以导出应用中存储的所有数据,造成用户数据的严重泄露。

修复建议:

将参数android:allowBackup属性设置为false,不能对应用数据备份。

WebView漏洞

应用中存在WebView漏洞,没有对注册JAVA类的方法调用进行限制,导致攻击者可以利用反射机制调用未注册的其他任何JAVA类,最终导致javascript代码对设备进行任意攻击。

修复建议:

通过在Java的远程方法上面声明一个@JavascriptInterface 来代替addjavascriptInterface;

在使用js2java的bridge时候,需要对每个传入的参数进行验证,屏蔽攻击代码;

Note :控制相关权限或者尽可能不要使用js2java 的bridge 。

关键数据明文传输

应用程序在登录过程中,使用http协议明文传输用户名和密码,并未对用户名和密码进行加密处理。通过监控网络数据就可以截获到用户名和用户密码数据,导致用户信息泄露,给用户带来安全风险。

修复建议:

在传输敏感信息时应对敏感信息进行加密处理。

任意账号注册

使用手机号177*****706注册某个APP,获取验证码38091;

 在确认提交时,拦截请求,修改注册的手机号码,即可注册任意账号,这里修改为1338*****678(任意手机号);

分别使用177*****706和133*****678(任意手机号)登录,均可以通过验证登录,看到最终结果。

修复建议:

注册过程最后的确认提交时,服务器应验证提交的账号是否是下发验证码的手机号。

登录界面可被钓鱼劫持

应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。

修复建议:

应用程序自身通过获取栈顶activity,判断系统当前运行的程序,一旦发现应用切换(可能被劫持),给予用户提示以防范钓鱼程序的欺诈。

获取栈顶activity(如下图),当涉及敏感activity(登录、交易等)切换时,判断当前是否仍留在原程序,若不是则通过Toast给予用户提示。

使用HTML5架构或android+HTML5混合开发,实现登陆、支付等关键页面,降低被劫持的风险。

移动APP典型安全漏洞

在对移动APP的渗透测试工作中个,博主总结了几个常见的移动APP安全漏洞,包括图形验证码逻辑后门、用户敏感信息泄露、开发商被渗透,各位APP开发工程师,需要注意一下。

图形验证码逻辑后门

案例概述

A公司是一个已经上市的信息科技公司,国内多家商业银行都是其客户。在分析A公司的移动银行产品时,发现产品的图形验证码机制存在逻辑后门可以被绕过,利用这个缺陷可以窃取大量用户账号。由于外包团队的代码复用,我们已经在至少两家商业银行的移动银行系统中复现了这个安全问题。

后果:大规模账号暴力破解攻击。

一般来说,大部分用户都习惯将移动银行密码设置为六位数字,而且查询密码和交易密码也有很大的概率设置为相同的。攻击者可以查找该地区的手机号码段范围作为登录用户名,以六位数字组成的密码字典进行暴力破解,几十万移动银行帐户信息唾手可得。

用户敏感信息泄露

案例概述

B公司也是一家上市的科技公司,其金融客户遍布全国,采用B公司移动银行方案的客户包 括至少两家全国性股份制商业银行和多家城市商业银行。在分析B公司的移动银行产品安全性时,发现没有关闭服务端的调试接口,造成大量的用户敏感信息泄露。这种问题其实也比较常见,往往是外包开发完成后上线过程的疏忽造成的,实际上更常见的例子是Android客户端通过logcat输出调试信息的问题。

调试接口会将用户转账的详细信息输出到 web 目录的 test.log 文件中。攻击者可以通过浏览器直接访问到这个 log 文件,该系统的每一笔转账交易都记录在其中,从中可以获取大量的用户账号、手机号、卡号和交易密码等信息。

开发商被渗透

案例概述

国内某漏洞平台曾经曝光过这样一个漏洞:某大型银行的移动银行ios客户端中存在一个txt文件,文件中存储了一个svn服务器的ip地址、用户名和密码,黑客解压出该文件获取信息后可以直接连上并checkout服务器上的文件。

svn 服务器上存储的内容包括该银行移动银行系统的全部项目文档、完整的 Android 和 IOS 客户端代码,甚至还存放了用于客户端签名的数字证书。

 本文在通过互联网其它文章学习之后归纳整理,供工作时参考。具体的渗透工具教程,下次再更。


最后,绵薄之力

感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

资料获取方式:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/633591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【V4L2】v4l2框架分析之video_device

文章目录 🔺一、video_device分析(1-1)struct video_device结构(1-2)struct v4l2_ioctl_ops结构(1-3)v4l2_file_operations结构 🔺二、注册video设备🔺三、卸载清除video…

华为OD机试真题B卷 JavaScript 实现【自守数】,附详细解题思路

一、题目描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 625,76^2 5776,9376^2 87909376。请求出n(包括n)以内的自守数的个数。 数据范围: 1≤n≤10000 二、输入描述 int型整数。 三、输出描述 n以内…

Maven了解及使用

套用一下常用的what, why, how 对maven进行了解。 首先,what? maven是什么? 1、Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecy…

《C# 教程》菜鸟教程学习笔记

学习地址 ######C#有用的网站 C# Programming Guide - 介绍了有关关键的 C# 语言特征以及如何通过 .NET 框架访问 C# 的详细信息。Visual Studio - 下载作为 C# 集成开发环境的 Visual Studio 的最新版本。Go Mono - Mono 是一个允许开发人员简单地创建跨平台应用程序的软件平台…

I.MX6ull GPT高精度定时器

一 简介 GPT的全称是General Purpose Timer,它是一个32位的向上的定时器, GPT 定时器也可以跟一个值进行比较,当计数器值和这个值相等的话就发生比较事件,产生比较中断。GPT 定时器有一个 12 位的分频器,可以对 GPT 定…

sqli-labs靶场通关(1-10)

这次的靶场主要为sql注入的练习,在练习靶场前我们需要了解以下mysql数据库。 数据库是一个用于存储和管理数据的仓库。数据按照特定的格式存储,可以对数据库中的数据进行增加、修改、删除和查询操作。数据库的本质是一个文件系统,按照一定的…

2023年腾讯云618年中大促活动整理汇总

2023年腾讯云618年中大促活动正在进行中,目前正是腾讯云最优惠的时候,小编给大家整理汇总了腾讯云618活动时间、活动入口、活动内容,大家记得抓住上云好时机! 一、2023年腾讯云618活动时间 2023年05月25日-2023年6月30日 二、20…

【024】C++对C的扩展之命名空间namespace详解

C对C的扩展 引言一、面向对象编程概述1.1、面向过程1.2、面向对象 二、作用域运算符 :: (双冒号)三、命名空间 namespace3.1、命名空间使用语法3.2、using声明命名空间中的成员可用3.3、using声明整个命名空间可用 总结 引言 💡 作者简介&…

【浅谈DBA职业生涯之误操作篇---读书笔记】

👈【上一篇】 💖The Begin💖点点关注,收藏不迷路💖 【下一篇】👉 🔻【💣 话题引入:请列举你在从事 DBA 生涯中,最难以忘怀的一次误操作】 🚩 该话题覆盖…

【算法】深入了解数据压缩算法(无损压缩和有损压缩)

目录 1 引言: 1 数据压缩的重要性和应用场景 2 压缩算法的基本原理和分类 2. 无损压缩算法 2.1 哈夫曼编码 2.1.1 哈夫曼编码的原理和步骤 2.1.2 实现一个简单的哈夫曼编码器 2.2 字典编码 2.2.1 LZW算法的原理和步骤 2.2.2 实现一个基于LZW算法的压缩程序…

力扣笔记(每日随机一题)—— 二叉树的中序遍历

问题(简单) 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-tree-inorder-traversal/ 示例 1 输入:root […

诡异BUG:DIV 的 margin 设置影响父级

参考资料&#xff1a;1、【web前端】23.解决内部div的margin影响外部div的margin_Anabel Chen的博客-CSDN博客 2、元素之间设置margin的影响及原因 有如下代码&#xff1a; <!doctype html> <html> <head><meta http-equiv"Content-Type" co…

RPC——RPC协议介绍及原理详解

common wx&#xff1a;CodingTechWork 介绍 RPC框架 概念 RPC&#xff08;Remote Procedure Call Protocol&#xff09; 远程过程调用协议。RPC是一种通过网络从远程计算机程序上请求服务&#xff0c;不需要了解底层网络技术的协议。RPC主要作用就是不同的服务间方法调用就…

Java蓝桥杯

目录 往年真题 题目分类 搜索 动态规划 并查集 贪心算法 二分查找 输入输出 图论 其他 往年真题 2022年第十三届蓝桥杯大赛软件类决赛Java研究生组真题 - 题库 - C语言网 2021年蓝桥杯第十二届省赛及国赛真题 - 题库 - C语言网 2020年蓝桥杯第十一届省赛及国赛真题…

[创业之路-73] :如何判断一个公司或团队是熵增:一盘散沙、乌合之众,还是,熵减:凝聚力强、上下一心?

前言&#xff1a; 一盘散沙、乌合之众&#xff1a; 凝聚力强、上下一心&#xff1a; 一、股权结构与利益分配 一盘散沙、乌合之众 凝聚力强、上下一心 股权结构过于松散和平均&#xff0c;无决策者&#xff0c;常常陷入无休止的争论股权结构层次结构&#xff0c;有最终决策者…

0302nacos配置运行-docker-macos apple arm64

1 已有镜像 拉取镜像 docker pull zhusaidong/nacos-server-m1:2.0.3运行容器-单机模式运行配置mysql数据库 第一步&#xff1a;创建挂载目录和文件 创建nacos 日志目录、配置目录 直接运行镜像&#xff0c;命令行或者图形界面进入容器&#xff0c;找到配置文件home/nacos/con…

TClientDataSet 模拟 EXECEL表

日常处理数据时&#xff0c;经常需要&#xff0c;从EXCEL表格中&#xff0c;批量导入数据&#xff0c;通过 XLSReadWriteII编程&#xff0c;会很快导入。 但是&#xff0c;客户提供的EXCEL表的字段&#xff0c;数据格式&#xff0c;字段的排序&#xff0c;有很大的区别。因此&a…

如何正确使用SDK加密串(视频加密)

我们点播SDK需要用户提供 userid、readtoken、writetoken、secretkey几个配置信息才能解密播放视频。基于安全性考虑&#xff0c;建议这些参数保存在服务端&#xff0c;APP 在启动时从服务端获取并配置。 为防止 APP 端被嗅探这几个参数&#xff0c;需要对传输的内容进行加密。…

Postgresql源码(105)分区表剪枝代码分析

对于分区表&#xff0c;对于子表的剪枝是保证性能的最重要的手段&#xff0c;优化器在生成Plan的过程中对子表进行了裁剪&#xff0c;本篇对裁剪流程做简要总结。 1 构造数据 CREATE TABLE measurement (city_id int not null,logdate date not null,peaktemp…

电子科技大学 数学专业-功不唐捐,玉汝于成

电子科技大学 数学专业 功不唐捐&#xff0c;玉汝于成 1.本科背景 本科是坐落于湖南湘潭的湖南科技大学&#xff0c;专业为网络工程专业&#xff0c;因热爱数学专业&#xff0c;所以决定跨考数学专业。 本科专业课平均成绩85&#xff0c;排名10/104。CET 4 474分&#xff0c;…