《2022Android基础渗透测试.docx》由会员分享,可在线阅读,更多相关《2022Android基础渗透测试.docx(48页珍藏版)》请在优知文库上搜索。
1、APP安全基础测试CONTENTS图1:2017年12月通过360显危镜检查的约1.8万款安卓主流APP应用中,发现了99.5%的安卓应用存在威胁风险,平均每个应用威胁风险数量为38.6个。可见安卓市场上的APP存在严重的安全隐患表1:2017年十大AndrOid软件漏洞序列漏洞名称1 WebVieW远程代码执行漏洞2 界面劫持漏洞3 权限漏洞4 篡改和二次打包漏洞5 SharedPref读写安全漏洞6 WebVieW组件忽略SS1.证书验证错误漏洞7 固定端口监听风险漏洞8 数据弱加密漏洞9 动态注册广播暴露风险10业务逻辑漏洞那么作为基础的安全人员或者说一个新手该如何入门进行app的基础安
2、全测试呢?又该从哪些方面去检测呢?Android安全分类传输安全o客户端(APK)签名问题组件问题 日志问题 本地存储问题 客户端完整性问题 WebVieW相关问题AndrOidmanifeSt配置问题签名问题问题描述:安装包签名的目的是为了便于升级,便于模块化程序设计和开发,代码或者数据的共享,区别app防止被恶意第三方程序覆盖或者替换掉。有些apk程序签名有问题,则说明程序存在安全问题。检测工具:jarsigner.exe,AndrOid右键工具检测方法:jarsigner.exe-verify-verbose-certsXXXo渗透测试基础煮组件问题问题描述:Activity活动Serv
3、ice服务ContentProvider内容提供者BroadcastReceiver广播接收器组件暴露,使得攻击者可以调用组件去实现一些复杂攻击。比如:利用APP组件间相互协作泄露程序敏感信息。检测工具:Jd_GUI(javadecompile),右键工具,Androidkiller等检测方法:通过查看AndrOidmanifest.xml文件,判断exported=true”是否存日志问题问题描述:有时候开发人员为了便于调试往往在日志里面输入大量敏感信息,这些信息可能包含了用户密码信息等。攻击者通过分析,可以进行有效的攻击。检测工具:adb.exe,或者aat.exe,DDMS等检测方法:借
4、助adb.exe,输入Iogcat可以查看所有日志信息。可以指定进程名,然后获取指定程序的日志信息。AdblogcatgrepXXXX检测客户端对应的1.OgCat日志是否会打印一些用户或服务器的敏感信息。Searchformessages.AcceptsJavaregexes.Prefixwithpid:,app:.tag:ortexttolimitscope.verboseVHlD41.evelTimePIDTIDApplicationTagTextaW06-1914:46:53.6671194511945System.erratcom.android.internal.os.Zygote
5、lI06-1914:46:53.6771194511945System.outbusiNo:930003”JbUgiObjee1.:r:3a6afb56fd5a43f39f79912d03elb4ount:13440000001wfpassword:60I1.E)I06-1914:46:53.6871194511945ViewRootIinplCPURenderingVSyncenable=trueI06-1914:46:53.7271194511989IibGameXtend1.UCIDJ(1497854813745)GameXtendI06-1914:46:53.7271194511989
6、IibGameXtend1.UCID_1(1497854813745)GameXtendstate.I06-1914:46:53.7271194511989IibGameXtend1.UCID_1(1497854813745)cn.passguahPSparameter=1.lICEisnotsconfigurationI06-1914:46:53.7271194511989IibGameXtend1.UCID_1(1497854813746)PowerXtendD06-1914:47:13.8271194511945Volley1Request.finish:20129ms:de7768fN
7、ORMA1.3I06-1914:47:13.8371194511945ViewRootIinplCPURenderingVSyncenable=trueI06-1914:47:13.8771194511989IibGameXtend1.UCID1(1497854833890)GameXtendV本地存储问题问题描述:Android的WebVieW组件中默认打开了提示用户是否保存密码的功能,如果用户选择保存,用户名和密码将被明文存储到该应用目录databases/WebView.db中。检测工具:Androidkiller,adb等工具检测方法:代码审计,或者直接检查app对应的data数据库,
8、打开检查是否存储有敏感信息。如果有就会存在如下所示效果。客户端完整性问题问题描述:对客户端程序添加或修改代码,修改客户端资源图片,配置信息,图标,添加广告,推广自己的产品,再生成新的客户端程序,可导致大量盗版应用的出现分食开发者的收入;恶意的二次打包还能实现应用的钓鱼、添加病毒代码,添加恶意代码,从而窃取登录账号密码、支付密码、拦截验证码短信,修改转账目标账号,金额等检测工具:Androidkiller,C32asm,梆梆扫描等工具检测方法:对dex文件或者SO文件修改,然后重新打包。判断程序是否仍能正常运行。WebVieW相关问题问题描述:WebVieW明文存储。mWebView.setSa
9、vePassword(true)WebVieW远程代码执行。WebVieW域控制不严格问题。(克隆漏洞)WebVieW如果打开了对JaVaSCriPt的支持,同时未对file:/形式的UR1.做限制,则会导致CoOokie、私有文件、数据库等敏感信息泄露检测工具:梆梆扫描工具,或者进行人工代码审计检测方法:SetAllowFileAccessSetAllowFileAccessFromFileUR1.sSetAllowuniversalAccessFromFileUR1.s(导致远程泄露敏感信息)WebSettings.setJavaScriptEnabled(true);Androidman
10、ifest其他配置问题问题描述:AndrOidManifest,xml文件是整个应用程序的信息描述文件。这里面包含了很多重要信息,比如版本信息,权限信息,文件备份等配置信息。这些信息也会暴露出安全问题。检测工具:android右键工具,APKtOo1.梆梆扫描平台等检测方法:在检查的时候主要检查以下几点:检查是否最小Sdk版本是否大于16;检查是否存在任意文件备份的问题;android:allowBackup=true”检查是否存在动态调试的问题;android:debuggable=false”。其他等等;1usesper11nmjlon.(uses-PerXXgSXonUes-pefxs9
11、ion-use*-peemissionuse-er111.issiGnues-pe11ti3sonu3e3-per11ssonuse9-pesai9sionjse9bpemi931,onauses-pefoil9slao服务端(APK)用户遍历 弱口令以及暴力破解 SQ1.注入 短信轰炸 短信绕过 任意文件上传 敏感信息明文传输 越权其他用户遍历问题描述:用户在登录或者注册时,往往会遇到一种情况,当输入不存在用户时会返回用户不存在,当密码不正确时,会返回密码信息不正确,这种情况会导致用户枚举.检测工具:Burpsuite,Finder等抓包工具检测方法:BUrPSUite抓包分析数据,或者什么
12、工具也不需要直接登录查看页面返回信息弱口令与暴力破解问题描述:在某些情况下,系统登录的口令是简单的弱口令,这样导致攻击者可以通过简单尝试登录系统。比如:admin/admin检测工具:BUrPSUite等工具检测方法:使用burp抓包以后,然后使用暴力破解功能进行尝试。如下图所示,是使用burp暴力破解功能进行尝试的情况。渗透测试基础兵oResults-JTargetPositionsPayloadsOptionsFilter:ShowingallitemsRequestPayloadStatusErrorTimeout1.engthComment88888888200169040028910
13、0004002892000140028930002400289500044002894000340028960005400289700064002898000740028990008400289100009400289RequestResponseRawHeadersHTTP1.1200OKServer:nginx/1.6.2Date:Thu,17Aug201702:16:23GMTContent-Type:texthtal;charset=UTF-8Coxmect-ion:closeContent-1.engh:14Iresult:OSQ1.注入问题描述:程序未对程序的输入进行限制,从而造成攻击者输入指令被作为SQ1.语句执行。最终泄露数据库相关的信息。检测工具:SQ1.MAP或者使用手工尝试检测方法:如果是get类型参数:SqImaP-Uurl;如果是PoSt类型参数:可以拷贝出整个数据包,然后使用命令:SqImaP-r“拷贝到文件的地址”(10:47:281(INFO)NeSlMingback-