应用安全渗透测试白皮书_第1页
应用安全渗透测试白皮书_第2页
应用安全渗透测试白皮书_第3页
应用安全渗透测试白皮书_第4页
应用安全渗透测试白皮书_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

渗透测试白皮书渗透测试白皮书目录1. 国内信息安全情况概述 51.1国内APP安全环境简述 52.1渗透测试工作的必要性 62.2渗透测试工作的作用与收益 61.3. 渗透测试方式说明 71.3.1. 自动测试 71.3.2. 手动测试 71.4. 渗透测试服务的独立性 92. APP渗透测试服务模式说明 102.1. 评估思路 102.2. 测试方式 102.2.1. 静态测试 102.2.2. 动态测试 102.2.3. 服务端测试 112.3. 测试模式 112.3.1. 黑盒测试 112.4. 渗透测试服务流程 112.4.1. 实施方案制定&及时的客户交流 122.4.2. 目标系统信息收集&分析 122.4.3. 取得权限&提升权限 132.4.4. 报告制作 133. 移动APP安全渗透测试检查项说明 143.1. iOS端渗透测试项说明 143.1.1. iOS端-移动客户端程序安全 143.1.2. iOS端-敏感信息 153.1.3. iOS端-密码软键盘安全性 173.1.4. iOS端-安全策略 183.1.5. iOS端-手势密码安全性 193.1.6. iOS端-进程 203.1.7. iOS端-保护机制 203.1.8. iOS端-通信安全 213.1.9. iOS端-业务安全 223.2. Android端渗透测试项说明 253.2.1. Android端-移动客户端程序安全 253.2.2. Android端-组件安全 273.2.3. Android端-敏感信息安全 303.2.4. Android端-数据存储 313.2.5. Android端-密码软键盘安全性 323.2.6. Android端-安全策略 333.2.7. Android端-手势密码安全性 343.2.8. Android端-进程 353.2.9. Android端-通信安全 363.2.10. Android端-业务安全 373.3. APP渗透案例展示 403.3.1. 通过逆向APP找到测试地址: 403.3.2. 通过逆向APP编写解密程序 413.3.3. 本地数据库数据明文存储 424. 渗透测试输出报告 445. 安全服务承诺 456. 渗透测试服务的特点 467. 附录A:典型APP安全风险简介 487.1. WebView命令执行简介 487.2. 组件安全简介 487.3. 密钥硬编码简介 488. 附录B:典型APP移动端漏洞测试工具简介 508.1. AndroidStudio安卓开发调试平台 508.2. MobSF移动App自动分析测试平台 508.3. Drozer安卓App漏洞利用测试平台 508.4. Jeb/jd-gui安卓逆向工具 508.5. 内存辅助工具MemSpectorPro/DDMS/Cheatengine 518.6. apktool反编译 51

国内信息安全情况概述1.1国内APP安全环境简述用户下载安装APP渠道70%来自安卓应用商店,随着国内手机厂商也自己独立运营应用商店,国内大大小小应用商店超过100家,随之而来的安全隐患也大大增加。部分第三方渠道的审核机制较为宽松,应用上架快,因此也成为恶意操作者进行非法行为的重点对象。黑客可下载正常软件,并对其进行二次打包,将木马病毒嵌入其中,然后重新投放到应用市场,而用户下载后浑然不知。除了传统的病毒、木马威胁,还有广义上的安全俗称泛安全,泛安全范围包括漏洞、隐私、兼容性、山寨应用、流氓广告等,今天主要对山寨应用的恶意行为科普下,山寨应用就是对官方正版的APP进行篡改,加入一些恶意代码从而非法谋取利益,这类APP其最终目的就是打着官方的旗号坑蒙拐骗,用户仅从名称和图标上是无法辨别的,使而山寨应用演变成各种作恶行为。

渗透测试简介渗透测试是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全作深入的探测,发现系统最脆弱的环节。渗透测试能够直观的让管理人员知道自己网络所面临的问题。渗透测试是一种非常专业的安全服务。2.1渗透测试工作的必要性渗透测试利用网络安全扫描器、专用安全测试工具和富有经验的安全工程师的人工经验对网络中的核心服务器及重要的网络设备,包括服务器、网络设备、防火墙等进行非破坏性质的模拟黑客攻击,目的是侵入系统并获取机密信息并将入侵的过程和细节产生报告给用户。渗透测试和工具扫描可以很好的互相补充。工具扫描具有很好的效率和速度,但是存在一定的误报率和漏报率,并且不能发现高层次、复杂、并且相互关联的安全问题;渗透测试需要投入的人力资源较大、对测试者的专业技能要求很高(渗透测试报告的价值直接依赖于测试者的专业机能及技能),但是非常准确,可以发现逻辑性更强、更深层次的弱点。2.2渗透测试工作的作用与收益技术安全性的验证渗透测试作为独立的安全技术服务,其主要目的就在于验证整个目标系统的技术安全性,通过渗透测试,可在技术层面定性的分析系统的安全性。查找安全隐患点渗透测试是对传统安全弱点的串联并形成路径,最终通过路径式的利用而达到模拟入侵的效果。所以,在渗透测试的整个过程中,可有效的验证每个安全隐患点的存在及其可利用程度。安全教育渗透测试的结果可作为内部安全意识的案例,在对相关的接口人员进行安全教育时使用。安全技能的提升一份专业的渗透测试报告不但可为用户提供作为案例,更可作为常见安全原理的学习参考。渗透测试方式说明自动测试自动测试是指借助系统和应用扫描工具对站点的系统层和应用层进行全面的安全扫描,以此种方法来检测目标系统中是否包含已知的安全问题。因自动测试的方式借助了自动化的扫描工具,因此其优点在于检测速度较快,而且对已知漏洞的检测也较为全面。而它的缺点也显而易见:自动化工具对于某些特殊的信息无法实现自动甄别一些复杂的客户端脚本无法完全实现自动检测一些具有较强逻辑性的业务无法通过自动化工具实现检测自动化工具均无法避免误报手动测试手动测试作为自动测试的一种补充,是渗透测试过程中必不可少的一个重要部分,但因手动测试由测试人员发起,因此,测试人员的个人技能和经验直接影响手动测试的结果。一般手动测试主要涵盖以下几个方面:对自动测试结果的验证自动化检测工具难免存在误报,因此,手动测试过程中需要筛选自动化检测结果中的误报,同时还要对正确告警的结果进行验证和再利用,以确认其危险程度与自动扫描结果一致个性化页面信息的人工甄别多数自动化测试工具,其检测条件都是以页面返回页面中的关键字或HTTP状态值作为判断条件,而某些经过精心构造的个性化页面,其返回内容可能无法完全由自动化工具进行判断,因此,针对这样的站点就需由人工进行手动测试JavaScript测试随着WEB2.0的兴起,JavaScript被很多站点大量使用,而自动化扫描工具对JavaScript脚本的解析能力不强,在自动扫描过程中难免遗漏,因此,手动测试中,测试人员需对那些自动化扫描工具无法解析的、含有JavaScript脚本的页面进行二次测试,以检测其安全性。提交数据的精细化测试自动化测试过程中,在对提交数据进行构造时,其构造方式均遵循一定的规律,而手动测试则可避免这样的问题出现,因此,某些可从本地构造恶意数据并提交测试的页面,也需在手动测试过程中进行深度测试。业务逻辑的安全测试业务逻辑相对来说与程序本身关系不大,因此,无论使用什么的自动化检测工具都无法检测业务逻辑的正确与否,所以,这部分就需要人工检测过程中,先对已有业务逻辑进行分析判断,然后再结合测试人员的经验对业务逻辑安全性进行必要的检测。由此可见,手动测试会在深度与广度两方面弥补自动化测试的不足,是保障渗透测试质量的一个重要手段,也是渗透测试的精髓所在。渗透测试服务的独立性如上所述,渗透测试可以作为风险评估的一部分,但它也具有独立性,换言之,渗透测试本身可以独立于风险评估而存在。渗透测试作为独立的安全服务时,其工作内容及效果与作为风险评估中的一部分工作并不存在明显差异,但相对整体的风险评估来说,渗透测试作为独立的一项安全服务时,其所能涵盖和涉及的内容相对较少,但相对的,其效果也更具备针对性。因此,对于迫切需要验证整体系统技术安全性而又不需要大规模风险评估的情况下,可选择渗透测试服务。

APP渗透测试服务模式说明评估思路移动APP面临的威胁风起云涌的高科技时代,随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式,而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的爆炸式增长。在APP安全测试实例中,APP安全评估集中在7个方面:敏感信息安全、认证鉴权、能力调用、资源访问、通信安全、键盘输入及反逆向。测试方式静态测试1)签名检查2)应用权限3)文件分析4)反编译5)调试开关6)二次打包动态测试1)数据文件2)调试信息3)组件通信4)网络通信5)键盘测试6)截屏测试服务端测试1)认证2)密码管理3)会话管理4)权限控制5)注入6)跨站测试模式黑盒测试黑盒测试愿意是指,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,通过测试来检测每个功能是否都能正常使用。在渗透测试中,黑盒测试则是指,测试人员在仅获得目标的IP地址或域名信息的情况下,对目标系统发起模拟入侵的尝试。渗透测试服务流程渗透测试的服务流程如下:渗透测试流程图实施方案制定&及时的客户交流客户书面授权委托,并同意实施方案是进行渗透测试的必要条件。渗透测试首先必须将实施方法、实施时间、实施人员,实施工具等具体的实施方案提交给客户,并得到客户的相应书面委托和授权。应该做到客户对渗透测试所有细节和风险的知晓、所有过程都在客户的控制下进行。这也是专业渗透测试服务与黑客攻击入侵的本质不同。目标系统信息收集&分析信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效的降低攻击测试对系统正常运行造成的不利影响。信息收集的方法包括PingSweep、DNSSweep、DNSzonetransfer、操作系统指纹判别、应用判别、账号扫描、配置判别等。信息收集常用的工具包括商业网络安全漏洞扫描软件(Websoc等),免费安全检测工具(如,NMAP、NESSUS等)。操作系统内置的许多功能(如,TELNET、NSLOOKUP、IE等)也可以作为信息收集的有效工具。取得权限&提升权限通过初步的信息收集分析,存在两种可能性,一种是目标系统存在重大的安全弱点,测试可以直接控制目标系统;另一种是目标系统没有远程重大的安全弱点,但是可以获得普通用户权限,这时可以通过该普通用户权限进一步收集目标系统信息。接下来尽最大努力取得超级用户权限、收集目标主机资料信息,寻求本地权限提升的机会。这样不停的进行信息收集分析、权限提升的结果形成了整个的渗透测试过程。报告制作渗透测试之后会提供一份渗透测试报告,渗透测试报告将会十分详细的说明渗透测试过程中的得到的数据和信息、并且将会详细的纪录整个渗透测试的全部操作。

移动APP安全渗透测试检查项说明随着运营商新技术新业务的发展,运营商集团层面对安全的要求有所变化,渗透测试工作将会面临内容安全、计费安全、客户信息安全、业务逻辑及APP等方面的挑战。随着运营商自主开发的移动APP越来越多,这些APP可能并不会通过应用市场审核及发布,其中的安全性将面临越来越多的挑战。iOS端渗透测试项说明iOS端-移动客户端程序安全安装包签名漏洞说明:检测客户端是否经过正确签名(正常情况下应用都应该是签名的,否则无法安装)。检测app移动客户端安装包是否正确签名,通过签名,可以检测出安装包在签名后是否被修改过。危险等级:低应用完整性校验漏洞说明:测试客户端程序是否对自身完整性进行校验。攻击者能够通过反编译的方法在客户端程序中植入自己的木马,客户端程序如果没有自校验机制的话,攻击者可能会通过篡改客户端程序窃取手机用户的隐私信息。危险等级:中测试步骤: 查找app路径>pstree|grep‘\.app’修改app路径下的文件,重新打开程序安全建议:应用在提交给AppleStore后其可执行文件会被修改,所以开发时不能将自身Hash硬编码进程序中。建议应用通过Apple的数字签名机制来判断是否被篡改。端口开放漏洞说明:通过监听本地端口作为一个服务启动。危险等级:低测试步骤: >lsof-i|grep-Ei'LIST|ESTABLISHED'安全建议:关闭对应端口对端口进行严格控制iOS端-敏感信息UI信息泄漏漏洞说明:检查移动客户端的各种功能,看是否存在敏感信息泄露问题。危险等级:低二进制Cookie信息泄漏漏洞说明:Safari浏览器和应用商店会存储持久性cookie在cookies.binarycookies.binarycookiereader文件用于备份所有来自cookies.binarycookies的cookie危险等级:低Plists信息泄漏漏洞说明:PropertyList,属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist,因此通常被称为plist文件。文件是xml格式的。Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息。危险等级:低db数据文件漏洞说明:检查客户端程序存储在手机中的配置文件,防止账号密码等敏感信息保存在本地。危险等级:低系统日志漏洞说明:检查客户端程序存储在手机中的日志,是否存在敏感信息泄漏。危险等级:低密钥链数据漏洞说明:检查客户端是否在密钥链(Keychain)中存放明文密码。危险等级:中敏感信息硬编码漏洞说明:开发者将密钥、第三方凭证硬编码在代码、文件中,这样做会引起很大风险。危险等级:中iOS端-密码软键盘安全性随机布局软键盘漏洞说明:测试客户端程序在登录/交易密码等输入框是否使用自定义软键盘,是否满足键位随机布放要求。危险等级:高键盘安全性测试漏洞说明:测试客户端能否防止键盘记录工具记录密码。(当使用自定义软键盘时,即可防护)。危险等级:中屏幕录像测试漏洞说明:测试通过连续截图,是否可以捕捉到用户密码输入框的密码。漏洞地址:危险等级:低iOS端-安全策略密码复杂度检测漏洞说明:测试客户端是否检查用户输入密码的强度,是否覆盖常见的弱口令,以免木马通过字典攻击破解用户密码。手机银行的登录密码是否与交易密码不同,是否与银行卡交易密码不同。危险等级:低帐户锁定策略漏洞说明:测试移动客户端是否限制登录尝试次数。防止木马使用穷举法暴力破解用户密码。危险等级:低会话安全设置漏洞说明:测试移动客户端在一定时间内无操作后,是否会使会话超时并要求重新登录。超时时间设置是否合理。危险等级:低界面切换保护漏洞说明:检查移动客户端程序在切换到后台或其他应用时,是否能恰当响应(如清除表单或退出会话),防止用户敏感信息泄露。危险等级:低帐号登录限制漏洞说明:测试能否在两个设备上同时登录同一个帐号。危险等级:中安全退出漏洞说明:验证移动客户端在用户退出登录状态时是否会和服务器进行通信以保证退出的及时性。危险等级:中验证码安全性漏洞说明:验证移动客户端使用的验证码的安全性。危险等级:密码修改验证漏洞说明:验证移动客户端进行密码修改时的安全性。危险等级:iOS端-手势密码安全性本地信息存储漏洞说明:检测移动客户端在取消手势密码时是否会验证之前设置的手势密码,检测是否存在其他导致手势密码取消的逻辑问题。危险等级:手势密码锁定策略漏洞说明:测试移动客户端是否存在手势密码多次输入错误被锁定的安全策略。防止木马使用穷举法暴力破解用户密码。因为手势密码的存储容量非常小,一共只有9!=362880种不同手势,若手势密码不存在锁定策略,木马可以轻易跑出手势密码结果,手势密码在输入时通常以a[2][2]这种3*3的二维数组方式保存,在进行移动客户端同服务器的数据交互时通常将此二维数组中数字转化为类似手机数字键盘的b[8]这种一维形式,之后进行一系列的处理进行发送。危险等级:iOS端-进程内存访问和修改漏洞说明:通过对移动客户端内存的访问,木马将有可能会得到保存在内存中的敏感信息(如登录密码,帐号等)。测试移动客户端内存中是否存在的敏感信息(卡号、明文密码等等)。危险等级:动态注入防护漏洞说明:测试客户端是否对自身进程进行保护,防止其他应用访问进程内存中的敏感信息。危险等级:iOS端-保护机制二进制文件加密漏洞说明:app代码未保护,可能面临被反编译的风险。反编译是将二进制程序转换成人们易读的一种描述语言的形式。反编译的结果是应用程序的代码,这样就暴露了客户端的所有逻辑,比如与服务端的通讯方式,加解密算法、密钥,转账业务流程、软键盘技术实现等等。攻击者可以利用这些信息窃取客户端的敏感数据,包括手机号、密码;截获与服务器之间的通信数据;绕过业务安全认证流程,直接篡改用户账号信息;对服务器接口发起攻击等。危险等级:高ASLR漏洞说明:ASLR(AddressSpaceLayoutRandomization),即地址空间随机布局。大部分主流的操作系统都已实现了ASLR,以防范对已知地址进行恶意攻击。iOS从4.3开始支持ASLR,Android从4.0也支持了ASLR机制。ASLR的存在,给iOS系统越狱造成了很大的困难,某些不完美越狱方案就是因为攻破不了或者绕不开ASLR,所以每次重新启动后地址再度随机偏移,需要重新进行越狱操作。危险等级:低堆栈溢出漏洞说明:测试客户端是否对自身进程进行保护,防止其他应用访问进程内存中的敏感信息。危险等级:iOS端-通信安全通信加密漏洞说明:验证移动客户端和服务器之前的通信是否强制使用https加密信道。危险等级:中关键数据加密和校验漏洞说明:验证移动客户端和服务器之前的通信是否使用加密通信。危险等级:中证书有效性验证漏洞说明:验证移动客户端和服务器之间是否存在双向验证的机制,同时确认此机制是否完善,服务器是否以白名单的方式对发包者的身份进行验证。危险等级:中移动客户端更新安全漏洞说明:测试移动客户端自动更新机制是否安全。危险等级:低访问控制漏洞说明:测试移动客户端访问的URL是否仅能由手机移动客户端访问。是否可以绕过登录限制直接访问登录后才能访问的页面,对需要二次验证的页面(如私密问题验证),能否绕过验证。危险等级:中iOS端-业务安全越权漏洞说明:通过越权漏洞可以操纵另外一个帐户信息危险等级:高SQL注入漏洞说明:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令危险等级:高XSS漏洞说明:造成XSS漏洞的原因就是,攻击者的输入没有经过严格的控制,最终显示给来访的用户,攻击者通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、个人网页内容、会话和cookie等各种内容。注册漏洞说明:在各种网站需要访问权限时,需要用户注册账户,此时填写各种资料的同时会存在各种安全性问题。密码找回漏洞说明:找回密码是很多网站都存在的一项功能,同时也可能存在一些安全性问题,常见的找回密码方式有:邮箱找回密码、根据密码保护问题找回密码、根据手机号码找回密码等。虽然这些方式都可以找回密码,但实现方式各不相同。无论是哪种密码找回方式,在找回密码时,除了自己的用户密码,还可能找回其他用户的密码,就存在密码找回漏洞。危险等级:高登录漏洞说明:登录功能可能存在任意登录、撞库等安全问题。危险等级:高CSRF漏洞说明:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账造成的问题包括:个人隐私泄露以及财产安全。危险等级:高SSRF漏洞说明:SSRF(Server-SideRequestForgery:服务器端请求伪造)是一种有攻击者构造形成有服务器发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。危险等级:高弱口令漏洞说明:很多网站都有登录,而面对多个网站设置不同密码,似乎很不方便,但是由于用户不想设置太复杂,不方便记住,设置弱密码或者跟其它网站密码一样才最终导致被黑客暴力破解。危险等级:高XXE漏洞说明:XXEInjection即XMLExternalEntityInjection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进⾏行处理时引发的安全问题。危险等级:高命令执行漏洞说明:由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。命令注入攻击中WEB服务器没有过滤类似system()、eval()、exec()等函数是该漏洞攻击成功的最主要原因。危险等级:高FFmpeg文件读取漏洞说明:FFmpeg的是一款全球领先的多媒体框架,支持解码,编码,转码,复用,解复用,流媒体,过滤器和播放几乎任何格式的多媒体文件,解析m3u8文件的时候,解析文件会得到ts流的http地址,我们并不一定非要得到一个视频文件流,可以是任意url地址,只要符合ffmpeg官方的协议头,所以造成了ssrf漏洞。危险等级:中Android端渗透测试项说明Android端-移动客户端程序安全移动客户端程序保护漏洞说明:app代码未保护,可能面临被反编译的风险。反编译是将二进制程序转换成人们易读的一种描述语言的形式。反编译的结果是应用程序的代码,这样就暴露了客户端的所有逻辑,比如与服务端的通讯方式,加解密算法、密钥,转账业务流程、软键盘技术实现等等。攻击者可以利用这些信息窃取客户端的敏感数据,包括手机号、密码;截获与服务器之间的通信数据;绕过业务安全认证流程,直接篡改用户账号信息;对服务器接口发起攻击等。危险等级:高安装包签名漏洞说明:检测客户端是否经过正确签名(正常情况下应用都应该是签名的,否则无法安装)。检测app移动客户端安装包是否正确签名,通过签名,可以检测出安装包在签名后是否被修改过。危险等级:低数据备份漏洞说明:Android2.1以上的系统可为App提供应用程序数据的备份和恢复功能,该由AndroidMainfest.xml文件中的allowBackup属性值控制,其默认值为true。当该属性没有显式设置为false时,攻击者可通过adbbackup和adbrestore对App的应用数据进行备份和恢复,从而可能获取明文存储的用户敏感信息。危险等级:中应用完整性校验漏洞说明:测试客户端程序是否对自身完整性进行校验。攻击者能够通过反编译的方法在客户端程序中植入自己的木马,客户端程序如果没有自校验机制的话,攻击者可能会通过篡改客户端程序窃取手机用户的隐私信息。危险等级:中设备认证模拟漏洞说明:若应用程序存在设备绑定功能,当账号与设备绑定后,应检查用户登陆过程是否直接采用设备ID+用户ID的方式,或采用固定的设备公开硬件信息进行计算得到固定的或能够通过一定的方式进行预测的ID进行登陆。危险等级:低debug模式漏洞说明:客户端软件AndroidManifest.xml中的android:debuggable="true"标记如果开启,可被Java调试工具例如jdb进行调试,获取和篡改用户敏感信息,甚至分析并且修改代码实现的业务逻辑,我们经常使用android.util.Log来打印日志,软件发布后调试日志被其他开发者看到,容易被反编译破解。危险等级:高本地端口开放漏洞说明:通常使用PF_UNIX、PF_INET、PF_NETLINK等不同domain的socket来进行本地IPC或者远程网络通信,这些暴露的socket代表了潜在的本地或远程攻击面,历史上也出现过不少利用socket进行拒绝服务、root提权或者远程命令执行的案例。特别是PF_INET类型的网络socket,可以通过网络与Android应用通信,其原本用于linux环境下开放网络服务,由于缺乏对网络调用者身份或者本地调用者id、permission等细粒度的安全检查机制,在实现不当的情况下,可以突破Android的沙箱限制,以被攻击应用的权限执行命令,通常出现比较严重的漏洞危险等级:低Native动态调试风险漏洞说明:so文件存在被调试的风险,攻击者可以利用此风险对应用进行动态调试。危险等级:高Android端-组件安全Activity漏洞说明:Android每一个Application都是由Activity、Service、contentProvider和BroadcastReceiver等Android的基本组件所组成,其中Activity是实现应用程序的主体,它承担了大量的显示和交互工作,甚至可以理解为一个“界面”就是一个Activity。危险等级:中Service漏洞说明:一个Service是没有界面且能长时间运行于后台的应用组件.其它应用的组件可以启动一个服务运行于后台,即使用户切换到另一个应用也会继续运行.另外,一个组件可以绑定到一个service来进行交互,即使这个交互是进程间通讯也没问题.例如,一个service可能处理网络事物,播放音乐,执行文件I/O,或与一个内容提供者交互,所有这些都在后台进行。危险等级:中BroadcastReciever漏洞说明:BroadcastRecevier广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。很多广播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。应用程序也可以进行广播──比如说,通知其它应用程序一些数据下载完成并处于可用状态。应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。所有的接收器均继承自BroadcastReceiver基类。广播接收器没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。危险等级:中ContentProvider目录遍历漏洞说明:AndroidContentProvider存在文件目录遍历安全漏洞,该漏洞源于对外暴露ContentProvider组件的应用,没有对ContentProvider组件的访问进行权限控制和对访问的目标文件的ContentQueryUri进行有效判断,攻击者利用该应用暴露的ContentProvider的openFile()接口进行文件目录遍历以达到访问任意可读文件的目的。危险等级:中ContentProviderSQL注入漏洞说明:在使用ContentProvider时,将组件导出,提供了query接口。由于query接口传入的参数直接或间接由接口调用者传入,攻击者构造sqlinjection语句,造成信息的泄漏甚至是应用私有数据的恶意改写和删除。危险等级:中IntentSchemeUrls攻击漏洞说明:Android应用本地拒绝服务漏洞源于程序没有对Intent.getXXXExtra()获取的异常或者畸形数据处理时没有进行异常捕获,从而导致攻击者可通过向受害者应用发送此类空数据、异常或者畸形数据来达到使该应用crash的目的,简单的说就是攻击者通过intent发送空数据、异常或畸形数据给受害者应用,导致其崩溃。危险等级:高Intent本地拒绝服务漏洞漏洞说明:Android应用本地拒绝服务漏洞源于程序没有对Intent.getXXXExtra()获取的异常或者畸形数据处理时没有进行异常捕获,从而导致攻击者可通过向受害者应用发送此类空数据、异常或者畸形数据来达到使该应用crash的目的,简单的说就是攻击者通过intent发送空数据、异常或畸形数据给受害者应用,导致其崩溃。危险等级:高WebViewFile域同源策略绕过漏洞说明:JavaScript的延时执行能够绕过file协议的同源检查,并能够访问受害应用的所有私有文件,即通过WebView对Javascript的延时执行和将当前Html文件删除掉并软连接指向其他文件就可以读取到被符号链接所指的文件,然后通过JavaScript再次读取HTML文件,即可获取到被符号链接所指的文件。危险等级:中WebView不校验证书漏洞漏洞说明:调用了android/webkit/SslErrorHandler类的proceed方法,可能导致WebView忽略校验证书的步骤。危险等级:高WebView密码明文保存漏洞说明:在使用WebView的过程中忽略了WebViewsetSavePassword,当用户选择保存在WebView中输入的用户名和密码,则会被明文保存到应用数据目录的databases/webview.db中。如果手机被root就可以获取明文保存的密码,造成用户的个人敏感数据泄露。危险等级:低WebView远程代码执行漏洞说明:Android系统通过WebView.addJavascriptInterface方法注册可供JavaScript调用的Java对象,以用于增强JavaScript的功能。但是系统并没有对注册Java类的方法调用的限制。导致攻击者可以利用反射机制调用未注册的其它任何Java类,最终导致JavaScript能力的无限增强。攻击者利用该漏洞可以根据客户端执行任意代码。危险等级:高未移除有风险的WebView系统隐藏接口漏洞说明:androidwebview组件包含3个隐藏的系统接口:searchBoxJavaBridge_,accessibilityTraversal以及accessibility,恶意程序可以利用它们实现远程代码执行。危险等级:中Android端-敏感信息安全私有目录下的文件权限漏洞说明:测试移动客户端私有目录下的文件权限是否设置正确,非root账户是否可以读,写,执行私有目录下的文件。危险等级:低私有目录文件的安全性漏洞说明:检测手机私有目录文件的安全性,判断是否有敏感信息的明文存储。危险等级:低logcat日志漏洞说明:调试日志函数可能输出重要的日志文件,其中包含的信息可能导致客户端用户信息泄露,暴露客户端代码逻辑等,为发起攻击提供便利。危险等级:中Android端-数据存储SharedPreferences漏洞说明:SharedPreferences是一种轻量级的基于XML文件存储的键值对(key-value)数据的数据存储方式,开发者在创建文件时没有正确的选取合适的创建模式(MODE_PRIVATE、MODE_WORLD_READABLE以及MODE_WORLD_WRITEABLE)进行权限控制;过度依赖Android系统内部存储安全机制,将用户信息、密码等敏感重要的信息明文存储在SharedPreferences文件中,导致攻击者可通过root手机来查看敏感信息。危险等级:中InternalStorage漏洞说明:InternalStorage是一种开发者可以直接使用设备内部存储器来创建和保存文件,开发者在创建文件时没有正确的选取合适的创建模式(MODE_PRIVATE、MODE_WORLD_READABLE以及MODE_WORLD_WRITEABLE)进行权限控制;过度依赖Android系统内部存储安全机制,将用户信息、密码等敏感重要的信息明文存储在SharedPreferences文件中,导致攻击者可通过root手机来查看敏感信息。危险等级:中SQLite数据库存储数据漏洞说明:SQLite是轻量级嵌入式数据库引擎,它支持SQL语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla,PHP,Python)都使用了SQLite.SQLite由以下几个组件组成:SQL编译器、内核、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展SQLite的内核变得更加方便。危险等级:中硬编码漏洞说明:开发者将密钥硬编码在Java代码、文件中,这样做会引起很大风险。信息安全的基础在于密码学,而常用的密码学算法都是公开的,加密内容的保密依靠的是密钥的保密,密钥如果泄露,对于对称密码算法,根据用到的密钥算法和加密后的密文,很容易得到加密前的明文;对于非对称密码算法或者签名算法,根据密钥和要加密的明文,很容易获得计算出签名值,从而伪造签名。危险等级:中Android端-密码软键盘安全性键盘劫持测试漏洞说明:测试移动客户端程序在密码等输入框是否使用自定义软键盘。安卓应用中的输入框默认使用系统软键盘,手机安装木马后,木马可以通过替换系统软键盘,记录应用的密码。危险等级:高软盘安全性测试漏洞说明:测试移动客户端是否使用随机布局的密码软键盘。危险等级:低屏幕录像测试漏洞说明:测试通过连续截图,是否可以捕捉到用户密码输入框的密码。危险等级:低Android端-安全策略密码复杂度检测漏洞说明:测试移动客户端程序是否检查用户输入的密码,禁止用户设置弱口。危险等级:低帐户锁定策略漏洞说明:测试移动客户端是否限制登录尝试次数。防止木马使用穷举法暴力破解用户密码。危险等级:低会话安全设置漏洞说明:测试移动客户端在一定时间内无操作后,是否会使会话超时并要求重新登录。超时时间设置是否合理。危险等级:低界面切换保护漏洞说明:检查移动客户端程序在切换到后台或其他应用时,是否能恰当响应(如清除表单或退出会话),防止用户敏感信息泄露。危险等级:低界面劫持保护漏洞说明:检查移动客户端是否对非正常的界面切换进行检测,并对用户进行提示。UI信息泄漏漏洞说明:检查移动客户端的各种功能,看是否存在敏感信息泄露问题。危险等级:低帐号登录限制漏洞说明:测试能否在两个设备上同时登录同一个帐号。危险等级:中安全退出漏洞说明:验证移动客户端在用户退出登录状态时是否会和服务器进行通信以保证退出的及时性。危险等级:低验证码安全性漏洞说明:验证移动客户端使用的验证码的安全性。危险等级:低Android端-手势密码安全性本地信息存储漏洞说明:检测移动客户端在取消手势密码时是否会验证之前设置的手势密码,检测是否存在其他导致手势密码取消的逻辑问题。危险等级:中手势密码锁定策略绕过漏洞说明:测试移动客户端是否存在手势密码多次输入错误被锁定的安全策略。防止木马使用穷举法暴力破解用户密码。因为手势密码的存储容量非常小,一共只有9!=362880种不同手势,若手势密码不存在锁定策略,木马可以轻易跑出手势密码结果,手势密码在输入时通常以a[2][2]这种3*3的二维数组方式保存,在进行移动客户端同服务器的数据交互时通常将此二维数组中数字转化为类似手机数字键盘的b[8]这种一维形式,之后进行一系列的处理进行发送。危险等级:高Android端-进程内存访问和修改漏洞说明:通过对移动客户端内存的访问,木马将有可能会得到保存在内存中的敏感信息(如登录密码,帐号等)。测试移动客户端内存中是否存在的敏感信息(卡号、明文密码等等)。危险等级:高动态注入防护漏洞说明:测试客户端是否对自身进程进行保护,防止其他应用访问进程内存中的敏感信息。危险等级:高外部动态加载DEX安全风险漏洞说明:Android系统提供了一种类加载器DexClassLoader,其可以在运行时动态加载并解释执行包含在JAR或APK文件内的DEX文件。外部动态加载DEX文件的安全风险源于:Anroid4.1之前的系统版本容许Android应用将动态加载的DEX文件存储在被其他应用任意读写的目录中(如sdcard),因此不能够保护应用免遭恶意代码的注入;所加载的DEX易被恶意应用所替换或者代码注入,如果没有对外部所加载的DEX文件做完整性校验,应用将会被恶意代码注入,从而执行的是恶意代码;危险等级:高Android端-通信安全通信加密漏洞说明:验证移动客户端和服务器之前的通信是否使用加密信道。危险等级:低关键数据加密和校验漏洞说明:验证移动客户端和服务器之前的通信是否使用加密信道。危险等级:中证书有效性验证漏洞说明:验证移动客户端和服务器之间是否存在双向验证的机制,同时确认此机制是否完善,服务器是否以白名单的方式对发包者的身份进行验证。危险等级:低移动客户端更新安全漏洞说明:测试移动客户端自动更新机制是否安全。危险等级:中访问控制漏洞说明:测试移动客户端访问的URL是否仅能由手机移动客户端访问。是否可以绕过登录限制直接访问登录后才能访问的页面,对需要二次验证的页面(如私密问题验证),能否绕过验证。危险等级:低Android端-业务安全Securerandom漏洞漏洞说明:Android4.4之前版本的Java加密架构(JCA)中使用的ApacheHarmony6.0M3及其之前版本的SecureRandom实现存在安全漏洞,具体位于classlib/modules/security/src/main/java/common/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java

类的engineNextBytes函数里。危险等级:低越权漏洞说明:通过越权漏洞可以操纵另外一个帐户信息危险等级:高SQL注入漏洞说明:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令危险等级:高XSS漏洞说明:造成XSS漏洞的原因就是,攻击者的输入没有经过严格的控制,最终显示给来访的用户,攻击者通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、个人网页内容、会话和cookie等各种内容。注册漏洞说明:在各种网站需要访问权限时,需要用户注册账户,此时填写各种资料的同时会存在各种安全性问题。密码找回漏洞说明:找回密码是很多网站都存在的一项功能,同时也可能存在一些安全性问题,常见的找回密码方式有:邮箱找回密码、根据密码保护问题找回密码、根据手机号码找回密码等。虽然这些方式都可以找回密码,但实现方式各不相同。无论是哪种密码找回方式,在找回密码时,除了自己的用户密码,还可能找回其他用户的密码,就存在密码找回漏洞。危险等级:高登录漏洞说明:登录功能可能存在任意登录、撞库等安全问题。危险等级:高CSRF漏洞说明:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账造成的问题包括:个人隐私泄露以及财产安全。危险等级:高SSRF漏洞说明:SSRF(Server-SideRequestForgery:服务器端请求伪造)是一种有攻击者构造形成有服务器发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。危险等级:高弱口令漏洞说明:很多网站都有登录,而面对多个网站设置不同密码,似乎很不方便,但是由于用户不想设置太复杂,不方便记住,设置弱密码或者跟其它网站密码一样才最终导致被黑客暴力破解。危险等级:高XXE漏洞说明:XXEInjection即XMLExternalEntityInjection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进⾏行处理时引发的安全问题。危险等级:高命令执行漏洞说明:由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。命令注入攻击中WEB服务器没有过滤类似system()、eval()、exec()等函数是该漏洞攻击成功的最主要原因。危险等级:高FFmpeg文件读取漏洞说明:FFmpeg的是一款全球领先的多媒体框架,支持解码,编码,转码,复用,解复用,流媒体,过滤器和播放几乎任何格式的多媒体文件,解析m3u8文件的时候,解析文件会得到ts流的http地址,我们并不一定非要得到一个视频文件流,可以是任意url地址,只要符合ffmpeg官方的协议头,所以造成了ssrf漏洞。漏洞地址:危险等级:中APP渗透案例展示通过逆向APP找到测试地址:可以通过调试模式备份数据AllowBackup=True通过逆向APP编写解密程序APP数据包可逆向,按照加密程序编写解密脚本。设置新密码,密码未做hash传输解密后的数据密码明文传输:传输中的加密数据sid=w4SMu0iLhNDMiJjZmNjY2EmYiBTY0YmNilzY3YTO0EWY5UjYjljLt4iN1QzM%0AyEjLt4CNuQjL04SLuMkMlMkMlUjRBNTJBRUQzUSMEF0MlgTOBNTJ0QTQzUCO1MkMlUDN5M2M2IDZ%0AzImM4EjZmF2QyUSM2AjM3ITMyAzMzQDO2gzQyUSZ1JHdu0iLBJDMyUSTI5SLuAjL04iMu0iLy8lM%3DMDAwLw3VzZXIvc2V0UGF5cHdk%3DZGU2NWExOTdmOWJhYzhjYWYxNGI5Y2U0ZGZjNmMzZTRmMWM4MjY5ZQ%3D%3D本地数据库数据明文存储

渗透测试输出报告渗透测试完成后的两个工作日内,渗透测试人员将输出最终版渗透测试报告。渗透测试报告包含渗透测试的整个流程描述,同时,还会对发现安全问题的思路与技术手法进行必要的说明,并结合测试目标所处的业务环境,对安全问题进行风险分析(如:可能产生的后果等方面)。除此以外,测试人员还将针对发现的问题提出具有针对性的解决方案,以便用户在修复过程中参考。

安全服务承诺为提高安全服务质量,保证安全服务规范,信息技术有限公司特做如下安全服务承诺:一切安全测试、评估类活动,均遵循国家法律、以及甲乙双方所约定的合同及补充条款要求;所有执行项目遵循双方约定服务范围;对于可能造成危害的测试行为提前获得用户同意与认可,并在双方约定的可控范围内进行测试;服务人员在整个测试过程中,将遵循内部规范严格规避可能存在的风险和隐患;测试结果按双方约定形式,由服务人员撰写报告完整提供给甲方,并按用户要求对内容做出适当的说明;在服务过程中,若因为人工失误造成的系统运行异常,测试人员有责任第一时间通知用户并协助恢复;乙方遵循安全保密要求,服务过程中和服务完成后,均不会以任何形式将服务过程中所获取的甲方数据泄露给第三方。

渗透测试服务的特点是国内最早提出网站安全云监测及云防御的高新企业,始终致力于为客户提供基于云技术支撑的下一代Web安全解决方案。可以保证为客户提供先进、可靠的网站渗透测试服务。工程经验:已经对多个国家机关、互联网公司、新闻媒体成功的提供过网站安全体检服务,具有丰富的工程实施经验。技术能力:自创立以来,业绩卓著,得到了各大互联网管理机构、多家世界五百强企业的高度认可。2009年公司被亚洲CIO杂志评选为20家最有价值企业,中国地区仅有与阿里巴巴获此殊荣。卓越的解决方案覆盖众多行业领域,拥有极高的客户忠诚度,这完全得益于精湛的技术、合理的总拥有成本、产品的易管理性以及优质的客户服务。信息控制:网站安全体检项目成员对客户信息有着严格的信息控制手段及安全保密意识培训,保证客户的敏感信息的安全性。人工筛查准确通告:基于公司成熟的技术团队和强大的安全信息获取能力,会在发现漏洞的第一时间将漏洞信息发送至客户。同时,还会附有完整的漏洞加固方案及验证程序,帮助客户第一时间解决高风险漏洞。互联网APP消息推送:漏洞速递的推送方式不同于以往的邮件、电话等告知方式,使用“微信企业号”进行消息推送。客户通过移动终端上的APP推送,可以第一时间获取漏洞信息、安全解决方案及验证程序。并通过APP收集、处理这些资料。随时随

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论