软件测试中日常测试中融入的安全测试

1. 用户权限测试

(1) 用户权限控制

1) 用户权限控制主要是对一些有权限控制的功能进行验证

2) 用户A才能进行的操作,B是否能够进行操作(可通过窜session,将在下面介绍)

3)只能有A条件的用户才能查看的页面,是否B能够查看(可直接敲URL访问)

(2) 页面权限控制

1) 必须有登陆权限的页面,是否能够在不登陆情况下进行访问

2)必须经过A——B——C的页面,是否能够直接由A——C?

2. URL安全测试

(1)适用范围: URL中含有参数,也就是通过GET方式传递的HTTP请求

(2)什么叫GET方式?

HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。

GET方式在客户端通过URL提交数据,数据在URL中可以看到,例如在日常中订购服务:

http://pay.daily.taobao.net/mysub/subdeal/order_sub_deal.htm?servId=2

POST方式,数据放置在HTML HEADER内提交,数据在URL中看不到

GET只能传输比较少的数据,安全性较低,POST传输数据较多,安全性也比GET高

(3)测试关注点:

1) URL 参数检查:

A: 对URL中参数信息检查是否正确

如:URL中的订单号、金额允许显示出来的话,需要验证其是否正确

B: 对于一些重要的参数信息,不应该在URL中显示出来

如:用户登陆时登录名、密码是否被显示出来了 ,

2) URL参数值篡改

修改URL中的数据,看程序是否能识别:

如:对于以下URL,修改其中planId,看是程序是否可以识别:

http://pay.daily.taobao.net/mysub/plan/subplan/confirmSubPlanInfo.htm?planId=878

又如:对于URL中包含金额参数的,修改金额看是否能够提交成功(可能导致用户把2元金额改成1元金额       能提交),还有修改订单号等重要信息看是否会报错

3) URL中参数修改进行XSS注入:

什么是XSS?

XSS的全称是Cross Site Script(跨站点脚本)

XSS的原理很简单,即进行脚本注入,URL执行时即把此脚本进行了执行,一般都是JavaScript脚本,如<script>alter(“abc”)<script>在URL中进行XSS注入,也就是把URL中的参数改成JS脚本。

4) URL参数中进行SQL 注入

什么是SQL注入?

SQL注入全称是SQL Injection ,当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击,如查询、插入数据时。

测试方法: URL中写入SQL注入语句,看是否被执行,如:’or 1=1;shutdown

一般情况下要进行SQL注入攻击,需要对数据库类型、表名、判断逻辑、查询语句等比较清楚才能够写出有效的SQL注入语句。

3. 表单提交安全测试

适用范围:有表单提交的地方、有HTTP请求的地方(包括GET、POST请求)

测试关注点:

1) 表单中注入XSS脚本

什么是XSS?这已在上一节中说明。URL中需要检测XSS注入,表单中更需要验证

测试方法:即在表单填写框中直接注入JS脚本

如在表单中输入XSS脚本,程序是不应该让脚本执行的

2) 表单中注入SQL 脚本

与URL中参数进行SQL注入类似,就是在表单中写入SQL注入脚本提交看是否会有问题

4. Session测试

(1) Session是客户端与服务器端建立的会话,总是放在服务器上的,服务器会为每次会话建立一个sessionId,每个客户会跟一个sessionID对应。

并不是关闭浏览器就结束了本次会话,通常是用户执行“退出”操作或者会话超时时才会结束。

(2) 测试关注点:

1) Session互窜

Session互窜即是用户A的操作被用户B执行了。

验证Session互窜,其原理还是基于权限控制,如某笔订单只能是A进行操作,或者只能是A才能看到的页面,但是B的session窜进来却能够获得A的订单详情等。

Session互窜方法:

多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,登陆用户B, 此时两个TAB页都是B的session,然后在另一个A的页面执行操作,查看是否能成功。 预期结果:有权限控制的操作,B不能执行A页面的操作,应该报错,没有权限控制的操作,B执行了A页面 操作后,数据记录是B的而不是A的。

2) Session超时

基于Session原理,需要验证系统session是否有超时机制,还需要验证session超时后功能是否还能继续走下去。

测试方法:

1、打开一个页面,等着10分钟session超时时间到了,然后对页面进行操作,查看效果。

2、多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,马上在另外一个页面进行要验证的操作,查看是能继续到下一步还是到登录页面。

时间: 2024-08-06 07:58:45

软件测试中日常测试中融入的安全测试的相关文章

【软件测试】Visual Studio中的编码的UI测试

前言 实验课的时候看了Visual Studio Ultimate 2012:通过编码的UI测试轻松测试用户界面这个视频之后,尝试了一下,感觉非常新颖,分享一下心得.视频地址是http://s.ch9.ms/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview-CHS/Visual-Studio-Ultimate-2012-Easily-testing-user-interfaces-with-Coded-UI-tests-CHS UI测

引用文档-软件测试分类及测试中三个主要概念

软件测试分类及测试中三个主要概念 原文链接:https://blog.csdn.net/qq_35867537/article/details/77477775 1.      软件测试分类 按测试技术分 按测试技术,软件测试可分为:黑盒测试.白盒测试.灰盒测试 黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用.也被称为功能测试或者数据驱动测试. 白盒测试:要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作.也被称为

【软件测试】UI测试中遇到的问题和解决方法

        2014年4月10日,第一次上机课,要求对win8 App应用程序进行黑盒测试,但在观看视频教程后的实际操作中,却遇到很多困难.下面将自己遇到的问题和解决办法和大家一起分享,希望能得到更多意见和经验. [问题1]录制按钮是灰色,无法使用 (1)文件->新建->项目->Windows应用商店->编码的UI项目测试(Windows应用商店应用) (2)在弹出对话框中点击确认 (3)成功出现UIMap,但录制键却是灰色的 相信好多同学和我一样的苦恼,怎么办呢?大多数同学会

探索式测试中的几种误区

探索式测试(Exploratory Testing)是敏捷测试中的重要组成部分,其价值与一般性测试如用户故事测试或者自动化测试不同,它所关注的是“意料之外”的软件缺陷,探索式测试作 为一个研究性.启发性和严肃性并存的测试方法,是一般性测试的重要补充.随着敏捷测试的推广,探索式测试逐渐受到大家的关注和重视.本文主要探讨了测试工 程师在探索式测试方面的一些误区,并尝试纠正这些问题. 误区1:探索式测试是一种测试技术. 探索式测试本身不是一种测试技术,相反,它是一种可以应用于广泛测试技术的方式或态度.

【转】移动App测试中的最佳做法

一说起软件测试,测试员想到肯定是去检查文件,功能,API,性能并确定软件是否安全,以及关于软件特定部分的其他事项.但是对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能. 本文是基于我的工作经验而写的.作为一名敏捷软件开发团队的软件质量保证经理,我一心投入iPhone,Android,WindowsPhone7的移动apps和移动webapps.在XING移动团队的日常工作以及与其他移动测试专家交流的过程中,我深刻了解了移动测试工作的困难.渐渐地,我明确了什么是帮助改进同事们和我的

[转]移动App测试中的最佳做法

Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议,他负责测试管理,测试自动化和测试执行.Daniel现在是XING移动和XING API团队的质量保证团队负责人.在XING移动团队中,他还负责XING安卓和iPhone Apps的测试管理和测试自动化.Daniel在包括像Robotium, KIF (Keep It Functional), Sel

移动App测试中的最佳做法

每项开发的新功能都需要进行测试.移动app测试中功能测试是一个重要方面,移动测试员应该要进行手动测试和自动化测试.刚开始测试时,测试员必须把移动app 当做"黑盒"一样进行手动测试,看看提供的功能是否正确并如设计的一样正常运作.除了经典软件测试,像点击按钮看看会发生什么,测试员还必须执行更多功能的移动设备专门的测试. 如今,现代移动设备都有触摸屏,要求多点触控动作来与它们互动.设备可以是纵向或横向显示屏.它们提供动作,倾斜和螺旋传感器.它们有不同的接口可以连接其他设备或服务,比如GPS

测试中的杀虫剂困境

第一次听到"杀虫剂困境"这个词来源于<微软的软件测试之道>中讲述的一个小故事.其中对于杀虫剂困境的原文表述是:"任何你用以防止或发现缺陷的方法都会留下一些残余的.更为微妙的缺陷,而对于这些缺陷而言,前面那些方法会统统失效."意思就是说,测试中单一的测试技术.手段.方法.策略往往是不足以全部覆盖潜在的缺陷范围的.因此,在测试过程中,包括测试策略的制定.测试案例设计.测试执行的方式和方法等,都要保持方法的多样性,尝试从更多的角度去审视和观察被测软件的行为表现

移动app测试中的主要问题

Kerstin Knab是德国慕尼黑Maiborn Wolff股份有限公司的高级IT顾问.她有10多年的复杂软件开发和测试项目方面的经验.她通过电信.金融和公路收费行业的项目掌握了深厚的知识,尤其是移动app测试.质量管理,故障管理以及测试自动化等领域的知识. ? 对于每个使用智能手机或平板的人来说,app都是不可或缺的.一个app是针对一个特定环境开发的.在移动背景下,通常被称为移动app.App技术自2007年iphone的商业发布时就为人们所熟知了.苹果App商店的推出,打开了软件app的

移动测试中游戏和应用的不同之处

随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹.在这个大环境下,互联网的重心已经慢慢从Web端转向了移动端,而移动端的软件测试也变得越来越重要了.今天就说说移动测试中最重要的两个方向. APP自动化测试完全不同于手游自动化测试 手机App和手游的开发技术不同,这导致了两者的自动化测试技术是截然不同的.以安卓开发举例,手机App一般使用Android SDK开发,使用Java编写.通过Android提供的服务,我们