在推荐扫描Android APP的工具中,扫描组件可以推荐drozer.使用过drozer的使用者知道,如何查找各个组件上的攻击层面 run app.package.AttackSurface . 它的原理是在AndroidManifest.xml中检测所有组件是否含有exported 并且为true.且当Android sdk 的最小版本为16或者更低时他的默认值是true.如果是17和以上的版本默认值是false.如果包含有intent-filter 默认值为true; 没有intent-f…
DevOps只是害怕尝试新事物.它们用于Selenium测试,这些测试占用了管道并提供了难以解释的结果,但是与此同时,它们经常避开了DAST测试,这远没有那么麻烦. 由于他们的应用程序是完全用Java开发的,Acunetix因此他们的质量检查流程涉及三种类型的测试.首先,有一些简单的用Java本身编写的单元测试.基本上,测试访问单个函数,将其提供给示例数据,获取输出值,并将输出值与期望值进行比较.而已. 然后,进行功能和集成的Selenium测试.这些测试遍及所有屏幕,并且基本上试图使Selen…
目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可以是bug的一种,只不过更加隐秘,难以发现,尤其针对于手机App. 以webview为主体的app,站在入侵或者攻击的角度来讲,安全隐患在于http抓包,逆向工程.谈这之前先讲讲webview相关的app,前一段时间有个曝工资的软件很火,但有查询次数的限制,抓包研究了一下,发现其主要还是webvie…
本篇继续对于安全性测试话题,结合DVWA进行研习. Command Injection:命令注入攻击. 1. Command Injection命令注入 命令注入是通过在应用中执行宿主操作系统的命令,来达到破坏目的的一种攻击方式.如果我们的应用程序将不安全的用户输入传递给了系统命令解析器(shell),那么命令攻击就有可能发生. 通常来说,由应用程序传递操作系统命令会赋有和应用一样的权限,所以如果没有合理防御机制会给系统带来很大危害.命令注入攻击漏洞是PHP应用程序中常见的漏洞之一. 命令注入和…
写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体行业的技术积累和大环境,市场对于测试工程师的要求越来越全栈化,技术的突破是测试工程师的必修课. 安全测试就是测试工程师的高阶技能之一,不过安全性测试领域水非常深,对于普通测试工程师而言可能并不容易上手. 所以笔者准备写这个系列文章,做一个安全性测试入门级攻略.文章会采用DVWA项目,就其提供的几大模…
免责声明: 本文意在讨论使用工具来应对软件研发领域中,日益增长的安全性质量测试需求.本文涉及到的工具不可被用于攻击目的. 1. 安全性测试 前些天,一则12306用户账号泄露的新闻迅速发酵,引起了购票用户的一片恐慌. 且不论这次账号泄露的漏洞究竟是发生在哪里,网络安全性这个话题再次引起了我们的关注. 做为IT从业人员,我们的研发产品是否具有足够的安全性,是不是能够在亿万用户的?我们是不是应该更多的关注产品安全性,投入更多的安全性测试资源? 从行业发展的趋势来看,答案是肯定的. 2. OWASP…
一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测试点和方法基本都可以适用于它.H5其实就是:移动端Web页面. 在PC或者手机浏览器都可以直接访问H5页面 1.2 怎么识别是H5? 基本上只要对那个view长按,然后看是不是有反应,比如手机震动(Android).或者出现文字选择粘贴(Android/iOS),那么就是WebView! 横屏竖屏相…
黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面的具体构成和原理,只要像用户一样看待产品就可以了. 例如银行转账功能,不需要知道转账的具体实现代码是怎样工作的,只需要把自己想象成各种类型的用户,模拟多种转账情况看系统是否能正常转账即可. 但是仅仅像用户一样去测试又是不够的.如果只做黑盒测试,必然是存在一定的风险的. 例如某个安全性较高的软件系统,…
罗列一下自己常用的android手机安全性测试攻击手段: 1. fiddler和tcpdump+wireshark抓包分析,模拟修改http请求参数,检验漏洞 2. 修改AndroidManifest.xml文件中debuggable属性,打开logcat输出,查看是否有敏感信息输出 3. 将apk包转换成jar包,反编译出源码,查看其是否混淆,或者能否通过代码看出主要产品逻辑 4. 反编译apk,结合反编译出的源码修改smali文件,输出敏感信息,或者更改代码逻辑 5. 对于一些jni调用so…
本篇继续对于安全性测试话题,结合DVWA进行研习. Insecure Captcha不安全验证码 1. 验证码到底是怎么一回事 这个Captcha狭义而言就是谷歌提供的一种用户验证服务,全称为:Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试). *很巧妙的是,Captcha单独成词的意思就是,抓到你了哟^_^* Captcha在各种海外网站被广泛用于用户验证.…
本篇继续对于安全性测试话题,结合DVWA进行研习. Session Hijacking用户会话劫持 1. Session和Cookies 这篇严格来说是用户会话劫持诸多情况中的一种,通过会话标识规则来破解用户session. 而且与前几篇不同,我们有必要先来理解一下Session和Cookie的工作机制. 实际上要谈论这两个小伙伴,又要先理解http协议的运作机制,这样讨论下去可就篇幅太长了. 我们只需要了解以下事实: http协议是无状态的 就好像两个人用老式的手摇电话机通电话.每一次http…
本篇继续对于安全性测试话题,结合DVWA进行研习. CSRF(Cross-site request forgery):跨站请求伪造 1. 跨站请求伪造攻击 CSRF则通过伪装成受信任用户的请求来利用受信任的网站,诱使用户使用攻击性网站,从而达到直接劫持用户会话的目的. 由于现在的主流浏览器比如火狐和谷歌,都倾向于使用单个进程来管理用户会话(比如我们在FF和Chrome中,当要访问一个新页面时,通常是通过新增浏览器页面来达到的,而不是新开一个浏览器客户端进程),所以攻击者就可以通过用户新开的页面来…
概览 本文意在对于OWASP's Zed Attack Proxy(ZAP)软件做一个基本使用指南介绍. ZAP是一个用于实施安全性测试的工具,即使没有很强的安全测试背景也可以很好的使用. 为了达到这一目的,本文会包含一些安全测试概念和术语,但是本文并不会就ZAP或安全测试进行过于深入的讨论.   安全测试基础 软件系统安全性测试,是一个评估和测试系统,以发现系统和数据安全性风险和漏洞的过程. 安全性测试并没有统一的方法论,不过我们将这一过程描述为“不以滥用为目的的发现系统的漏洞的行为”. 常见…
典型BUG 表格的排序.翻页.添加.删除的联合测试 输入框的长度检查 数据库表中如果指定utf8长度为150,则可以输入150个中文或英文字母等 (有时候界面判断失误,却只能输入50个汉字) 数据添加的时候引号等特殊符号没有处理导致添加失败 搜索时输入条件是%_,则被当成了数据库的通配符, 金融字段直接检查表的字段类型不能用float,要用Decimal,float类型会丢失精度 外键约束检查 通常是下拉列表元素中被引用过的数据不允许删除 产品数据被订单引用了后,则产品数据不能删除 按钮连续点击…
OWASP固件安全性测试指南 固件安全评估,英文名称 firmware security testing methodology 简称 FSTM.该指导方法主要是为了安全研究人员.软件开发人员.顾问.爱好者和信息安全专业人员进行固件安全评估. 前景 我们基于 FSTM 进行测试流程如下: id 阶段 描述 1 信息收集 固件的相关技术文档的详细使用说明 2 获取固件 使用本文中介绍的多种办法获取固件 3 分析固件 固件的功能.特性 4 提取文件系统 从固件中获取文件系统 5 分析文件系统内容 静…
之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持续集成:http://www.cnblogs.com/tobecrazy/p/4529399.html 在测试框架中使用Log4J 2 :http://www.cnblogs.com/tobecrazy/p/4557592.html 首先介绍一下grid ,selenium grid 是一种执行测试用例时使用的包含不同平台(windows.Linux.Androi…
如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什么是测试场景 测试场景是将测试需求结合测试用例进行转化后,用来承载实现测试用例测试目标的测试脚本的容器,对这个容器,我们可以定义出容器的规格,这个有了规格的容器的执行,就相当于测试需求被覆盖. 在LoadRunner中,测试场景在Controller中管理,一般一个场景打开后的界面如下图: 图一:场…
测试定时事件不太容易,比如要测试 AlarmManager 中定时明天4点的一个事件,你总不能等到明天4点再看看吧. Roman Nurik 提供了两个用来测试定时事件的命令:adb shell dumpsys alarm 和 adb shell dumpsys activity intents 通过这两个命令可以查看那些操作被放到定时队列中了. 例如,要查看你的应用都定时执行那些任务,通过命令 ‘adb shell dumpsys alarm’,在结果中查找你的应用包名,结果看起来如下: RT…
自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用... 这时就不得不需要一些基本的Linux命令来处理遇到的这些问题(顺便迈向装B之旅) 1.cd命令 用于切换目录(可以一级一级地切换,也可以一次性切换到指定目录) [han@56 ~]$ cd shipping/ [han@56 ~]$ cd shipping/apache-tomcat-7.0.55/bin/ [han@56 ~]$ cd .. 返回上一级目录 [han…
WEB安全性测试介绍WEB安全性测试--拒绝服务攻击WEB安全性测试--文件上传漏洞WEB安全性测试--跨站攻击WEB安全性测试--SQL注入一WEB安全性测试--SQL注入二WEB安全性测试--SQL注入三WEB安全性测试--SQL注入四…
==============Springboot的日志管理============= springboot无需引入日志的包,springboot默认已经依赖了slf4j.logback.log4j等日志.我习惯用slf4j,下面就用slf4j做配置. 如果你导入了spring-boot-starter-web,这个会自动依赖上述日志.如下依赖: 0.日志测试类: package daoTest; import org.junit.Test; import org.junit.runner.Run…
目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可以是bug的一种,只不过更加隐秘,难以发现,尤其针对于手机App.近期时间比较充裕,研究了一下安全性相关的东西,并对于我们自身的产品测试了一下(更主要的目的是游戏作弊刷分),发现了不少问题,总结一下. 我的理解,包括以webview为主体的app,站在入侵或者攻击的角度来讲,安全隐患在于http抓包…
自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用... 这时就不得不需要一些基本的Linux命令来处理遇到的这些问题 1.cd命令 用于切换目录(可以一级一级地切换,也可以一次性切换到指定目录) [han@56 ~]$ cd shipping/ [han@56 ~]$ cd shipping/apache-tomcat-7.0.55/bin/ [han@56 ~]$ cd .. 返回上一级目录 [han@56 ~]$ cd…
Appscan是做安全性测试的一款工具,网上资料比较少,项目需要做安全性测试,用它做了web的扫描,可以发现一些问题,并且有原因分析和修复建议,感觉还不错,现在实战 1.打开工具,点击[文件]下的[新建],来打开新建扫描页面 2.一般我们选择[常规扫描],当然也可以根据需要来定义写模板,我是建议团队一起制定一个模板比较好,可以减少误报率和扫描时间 3.根据配置向导配置,选择扫描类型,[web Service扫描]需要下载其他组件,我们这里选[web 应用程序扫描] 4.URL地址就是我们要扫描的…
测试 jdbc 中连接关闭的时机 写一段程序,测试 jdbc 连接的关闭情况 /** * 测试 jdbc 连接的关闭情况 */ public static void testOpenCon(){ //打开连接 // getOpenCon(); try { //关闭连接 // CON.close(); //如果CON不为空,已连接过 if(CON!= null){ //如果CON是false // isClosed()该方法判断是否关闭连接 返回true false 返回true是已经关闭 返回f…
概述: 作为性能测试的一部分,我不得不为我们的应用程序提供各种用例/业务工作流程的性能测试脚本.当我设计我的性能测试脚本时,我将确保我有本文中提到的可重用测试脚本. JMeter - 如何创建可重用和模块化测试脚本 如果您尚未阅读本文,我会请您先阅读本文,然后继续阅读本文!作为上述文章的一部分,您可以了解如何正确设计性能测试脚本/测试计划. 在高级别,我在“测试片段”下维护了一个可重复使用的“测试脚本”模块.然后我使用Module Controller调用特定模块来创建工作流. 我还为每个业务功…
django第8天 在测试文件中运行django项目 1.将项目配置文件数据库该为mysql,修改配置信息 PORT = '127.0.0.1' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dj34', 'HOST':PORT, 'USER':'root', 'PASSWORD':'123', } } 2.在项目文件下__init__.py中 import pymysql pymysql.in…
在做移动应用(APP,小程序等)测试时,需要关注应用安全性. ZAP是可以用来进行手机移动应用渗透性测试扫描的. 正因为ZAP是采用“中间代理”的形式,截取并扫描所有客户端与服务器的交互请求,作为客户端之一种的移动端应用当然也在其范围之内. 更多ZAP代理原理和设置请翻阅安全性测试:OWASP ZAP 2.8 使用指南(三):ZAP代理设置 需求 安装于PC端的OWASP ZAP客户端 手机模拟器/真机 安卓设置 我们将移动APP的形式分为两种情况: 被测APP不使用HTTP协议,安卓机器已被r…
测试脚本中的等待方法 等待是为了使脚本执行更加稳定 1. 常用的休眠方式:time模块的sleep方法 2. selenium模块中的等待方法 等待查找5s 查找不到就报错 对登录测试py进行修改 alter对话框处理 如果页面出现alter对话框,那么无法查找它的元素(右击无法审查元素 没办法用以前的方式找对话框) Alert弹框是一个很烦人的控件,因为当前页面如果弹出了该弹框,你必须要处理它,不然你就不能操作页面的其它元素 下面我列出了alert弹框在多种场景下的处理办法.…
目录 模块及测试文件中集成doctest测试 编码 使用doctest选项 输出格式 pytest-specific 特性 返回: Pytest权威教程 模块及测试文件中集成doctest测试 编码 使用doctest选项 默认情况下,Pytest按照python doctest模块标准test*.txt模式进行匹配.你也可以通过使用以下命令更改匹配模式: pytest --doctest-glob='*.rst' 在命令行上.从版本开始2.9,--doctest-glob可以在命令行中多次使用…