[Fuzz]Android模糊测试

fuzz模糊测试理论应用于android端 

1.单独调用Activity 
2.发布针对性广播 
3.调用查看Apps数据库 
等... 

方法: 
1.反编译apk,可以使用apktool 
2.查找AndroidManifest.xml文件内activity,service等,修改Export=“true”,意味着可以由第三方程序调用该服务 
3.修改过配置文件后,重新打包成apk 
4.对重新打包过的apk进行签名 

以Activity为例,想要启动apps的activity有3种方法: 
1.同process中可以启动, 因为有相同的uid,instrument测试方法。 
2.root权限, 比如root过后的手机, 任意调用所有activity 
3.添加activity的属性export=true 

1.预处理,测试准备: 
检查输入参数, 产生对应的log文件,此处用了log4j。 
并通过处理apk, 拿到了packagename和所有的activity 。 
通过ddmlib,adb连接到指定的机器 
3.启动logcat 监控 
通过ddmlib,启动logcat, LogCatOutputReceiver 继承MultiLineReceiver,通过observer模式通知程序处理。 
3.开始activity travel 
根据步骤一获取的activity列表, 通过ddmlib组成命令循环调用,吊起activity后, 截图保存。 
调用命令格式 am start -n 包名\activity名字, 同时监控logcat, 如果出现异常exception, 记录下来。 
除去对actvitiytravel产生的logcat日志进行实时分析, 也要对出现的ANR情况进行实时检测, 如果出现ANR,将会立即对所测试应用(包名)进行重装,此种情况较罕见,但属于apk造成bug。 
4.结果记录, 保存和输出 
保存json格式的结果。 

此处4步可以采用我博文内原发布的am相关的测试框架来进行使用。 

这部分可以检查出很多问题,而且是不容易被测试出的问题,FUZZ测试效果就达到了。

时间: 2024-10-05 17:08:54

[Fuzz]Android模糊测试的相关文章

你了解模糊测试(fuzz testing)吗?

模糊测试(fuzz testing)是一类安全性测试的方法.说起安全性测试,大部分人头脑中浮现出的可能是一个标准的"黑客"场景:某个不修边幅.脸色苍白的年轻人,坐在黑暗的房间中,正在熟练地使用各种工具尝试进入某个系统.这种由安全人员"模拟黑客进入系统"的测试方法的确是安全性测试中的一种有效测试手段,名叫"渗透测试".渗透测试方法完全依靠测试执行者的能力,能力强的"白客"能够发现有价值的安全性漏洞,而不具备很强的攻击能力的测试者

在内部应用安全测试中使用模糊测试

问:一位研究员最近用模糊测试发现了许多苹果和微软的漏洞.在内部软件开发过程中如何使用模糊测试来发现漏洞呢?答:现在,很多软件开发员.正规的安全研究者和网络罪犯都在使用模糊测试技术--一种用 大量无效的.意料之外的,或者随机的数据来轰击运行中的程序的输入的技术--来测试代码的坚固性.如果模糊数据导致程序在响应这个参数操作时出现失效.崩溃.锁起.消耗内存,或者不可控制的错误的话,开发者或研究者就会知道代码中存在缺陷.这就是模糊工具常被称为错误注入器的原因,而模糊测试也被称为坚固性测试或者负面测试.最

《Metasploit渗透测试手册》—第8章8.8节编写FileZilla FTP模糊测试器

8.8 编写FileZilla FTP模糊测试器Metasploit渗透测试手册前面已分析过模糊测试模块的工作过程,本节中将进一步构建自己的小型FTP模糊测试器,用于对FileZilla FTP服务器进行模糊测试. 怎样实现构建模糊测试器的基本模板与前面开发辅助模块所用的模板类似,基本模板应具有如下的形式. require 'msf/core' class Metasploit3 < Msf::Auxiliary include Msf::Auxiliary::Scanner def initi

模糊测试: 为Team System创建自定义的测试接口提供程序

在奥兰多参加 Microsoft Tech•Ed 2007 会议时,我有幸在"The Learning Center"的一个开发人员展位工作过.这次经历让我感触最深的是围绕最新的应用程序生命周期管 理 (ALM) 工具所展开的讨论.同时还有大量关于热门方法的讨论,例如敏捷编程和测试驱动的开发 (TDD).因此,Microsoft 的最新 ALM 套件 - Visual Studio Team System (VSTS) 产品倍 受关注. VSTS 为测试人员提供了一些强大的功能和可扩展

自动 Android* 应用测试

自动 Android* 应用测试 Roman Khatko (Intel) 于 星期日, 16/02/2014 - 18:03 提交 测试是应用开发流程中的重要环节. 对于 Android,这尤为重要,因为 Android 设备彼此之间差异很大,主要体现在以下几个方面: 屏幕尺寸和分辨率 Android 版本 外形 处理器的指令集 是否有前置摄像头.NFC.外置键盘等. 您应在多台设备上对 Android 应用进行测试. 应用测试流程包括多种测试. 让我们来了解一下手动功能测试. 测试者需要认真

Appium在Android UI测试中的应用实践

Android 测试工具与 Appium 简介 Appium 是一个 C/S 架构的,支持 Android/iOS Native, Hybrid 和 Mobile Web Apps 的测试框架,与测试程序通过 Selenum Webdriver 协议通讯.Webdriver 的好处是通过 HTTP RPC 的方式调用 Server 上的过程,编写测试脚本不受语言的限制,无论是 Python, Java, NodeJS 均可以方便的编写测试.本文中将使用 Python 进行编程. 起因是因为市场部

android 压力测试测出的bug

问题描述 android 压力测试测出的bug 自定义控件MyButton,已经实现了三个构造函数,希望哪位大神帮帮忙查看下,给些意见,感激不尽 FATAL EXCEPTION: main 01-02 00:32:39.600 E/AndroidRuntime( 6275): Process: com.simple.zjx.main, PID: 6275 01-02 00:32:39.600 E/AndroidRuntime( 6275): java.lang.RuntimeException:

如何使用Burp Suite模糊测试SQL注入、XSS、命令执行漏洞

本文讲的是如何使用Burp Suite模糊测试SQL注入.XSS.命令执行漏洞,今天我将使用打包的套件攻击工具对bwapp应用程序进行模糊测试,手动执行此测试是一个耗时的时间,可能对任何一个渗透性测试的安全人员来说都是无聊的过程. 模糊测试在软件测试中起着至关重要的作用,它是一种工具,用于通过将一组称为模糊的部分地址输入注入到要测试的应用程序的程序中来查找错误,错误,故障. 漏洞检查工具采用文件格式的结构输入来区分有效和无效的输入.漏洞检查工具最适合识别sql注入,缓冲区溢出,xss注入和OS命

看我如何打造Android渗透测试环境

本文讲的是看我如何打造Android渗透测试环境, 目前世界上有23亿台智能手机,预计到2020年将增长到61亿,到时全球共有73亿人,几乎每人平均有一个智能手机.因为手机可以产生大量关于携用户的个人信息,并且未来也是公司和机构的网络关键切入点,所以这意味着对智能手机的攻击,将会成为黑客的主要攻击对象. 在本文中,我将探讨如何对智能手机进行攻击的各种手段,不过攻击手段通常会因操作系统(iOS,Android,Windows Phone等)的不同而有所变化.由于Android是最广泛使用的操作系统