WEB安全测试要考虑的10个测试点
Web测试总结

十二、界面和易用性测试1、风格、样式、颜色是否协调2、界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条3、界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)4、操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)5、提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等)6、界面中各个控件是否对齐7、日期控件是否可编辑8、日期控件的长度是否合理,以修改时可以把时间全部显示出来为准9、查询结果列表列宽是否合理、标签描述是否合理10、查询结果列表太宽没有横向滚动提示11、对于信息比较长的文本,文本框有没有提供自动竖直滚动条12、数据录入控件是否方便13、有没有支持Tab键,键的顺序要有条理,不乱跳14、有没有提供相关的热键15、控件的提示语描述是否正确16、模块调用是否统一,相同的模块是否调用同一个界面17、用滚动条移动页面时,页面的控件是否显示正常18、日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX19、页面是否有多余按钮或标签20、窗口标题或图标是否与菜单栏的统一21、窗口的最大化、最小化是否能正确切换22、对于正常的功能,用户可以不必阅读用户手册就能使用23、执行风险操作时,有确认、删除等提示吗24、操作顺序是否合理25、正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
26、系统应该在用户执行错误的操作之前提出警告,提示信息.27、页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
28、合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
29、检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。
十三、兼容性测试兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,包括操作系统兼容和应用软件兼容,可能还包括硬件兼容比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
web ui测试标准

web ui测试标准
Web UI测试的标准主要包括以下几个方面:
1. 整体页面测试:测试整个Web应用系统的页面结构设计是否合理,是否符合用户的使用习惯和审美标准。
具体包括页面布局、导航、菜单、链接等方面的测试。
2. 页面元素测试:测试页面上的元素是否符合设计要求,包括文字、图片、按钮、表单等元素的布局、样式、大小、颜色等方面。
3. 交互测试:测试用户与页面元素的交互是否正常,包括点击、拖动、输入等操作是否能够正确响应,以及页面元素之间的交互是否符合设计要求。
4. 兼容性测试:测试Web应用在不同浏览器、不同操作系统、不同设备上的兼容性,确保Web应用在不同环境下都能正常运行。
5. 性能测试:测试Web应用的性能,包括响应时间、加载速度、稳定性等方面的测试,确保Web应用能够满足用户的需求。
6. 安全测试:测试Web应用的安全性,包括防止跨站脚本攻击(XSS)、SQL注入等常见的网络攻击手段,确保Web应用的数据安全和用户隐私安全。
7. 可用性测试:测试Web应用的易用性和用户体验,包括用户对页面的理解和使用程度、操作流程的顺畅性等方面的测试。
以上是Web UI测试的一些标准,具体测试内容和方法需要根据实际情况而定。
安全测试的考虑点及测试方法

安全测试的考虑点及测试⽅法原⽂地址:软件安全性测试主要包括程序、数据库安全性测试。
根据系统安全指标不同测试策略也不同。
⽤户认证安全的测试要考虑问题:1. 明确区分系统中不同⽤户权限2. 系统中会不会出现⽤户冲突3. 系统会不会因⽤户的权限的改变造成混乱4. ⽤户登陆密码是否是可见、可复制5. 是否可以通过绝对途径登陆系统(拷贝⽤户登陆后的链接直接进⼊系统)6. ⽤户推出系统后是否删除了所有鉴权标记,是否可以使⽤后退键⽽不通过输⼊⼝令进⼊系统系统⽹络安全的测试要考虑问题:1. 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上2. 模拟⾮授权攻击,看防护系统是否坚固3. 采⽤成熟的⽹络漏洞检查⼯具检查系统相关漏洞(即⽤最专业的⿊客攻击⼯具攻击试⼀下,现在最常⽤的是 NBSI系列和 IPhacker IP )4. 采⽤各种⽊马检查⼯具检查系统⽊马情况5. 采⽤各种防外挂⼯具检查系统各组程序的客外挂漏洞数据库安全考虑问题:1. 系统数据是否机密(⽐如对银⾏系统,这⼀点就特别重要,⼀般的⽹站就没有太⾼要求)2. 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)3. 系统数据可管理性4. 系统数据的独⽴性5. 系统数据可备份和恢复能⼒(数据备份是否完整,可否恢复,恢复是否可以完整)浏览器安全同源策略:不同源的“document”或脚本,不能读取或者设置当前的“document”同源定义:host(域名,或者IP),port(端⼝号),protocol(协议)三者⼀致才属于同源。
要注意的是,同源策略只是⼀种策略,⽽⾮实现。
这个策略被⽤于⼀些特定的点来保护web的安全。
<script>,<img>,<iframe>,<link>等标签都可以跨域加载资源,不受同源策略的限制。
XMLHttpRequest,DOM,cookie受到同源策略的限制。
web测试常用测试点

一、界面测试公共测试用例界面测试一般包括页面文字,控件使用,少图,CSS,颜色等。
1. 文字内容一致性:1)公司要求文字的一致性,例如各种宣传文字、注册的协议条款、版权信息等;2)各处相同含义文字的一致性,例如标题栏文字、页面主题文字、弹出窗口文字、菜单名称、功能键文字等。
样式一致性1)(通常分类包括)各类文字字体、字号、样式、颜色、文字间距、对齐方式;2)按钮的文字间距,按钮长度一定前提下,2个字的按钮,需要中间空一格(或者其它约定,需要统一);3)链接文字,同一类,菜单、小标题、页角文字链接,在点击时颜色变化要相同;4)对齐方式,页面上文字的对齐,例如表单、菜单列、下拉列表中文字的对齐方式(左、右、居中等要统一)语言习惯:1)中文:文字简单,含义明确,无歧异,无重复,无别字,正确运用标点符号。
2)英文。
3)日文。
2. 按钮1)button的样式整体要统一,例如突出、扁平、3D效果等只能选其一;2)采用的图片表述相同功能,要采用单一图标。
3. 文本框1)录入长度限制,根据数据库的设计,页面直接限定录入长度(特殊处屏蔽复制、粘贴);2)文本框自身的长度限制,主要考虑页面样式。
4. 单选框1)默认情况要统一,已选择,还是未选。
5. 日期控件1)图标、控件颜色、样式统一;2)点击控件、文本框均应弹出日期选择框。
6. 下拉选择框1)默认是第一个选项,还是提示请选择一个。
7. 提示信息1)静态文字与它的提示信息一致性,例如静态文字为…ID‟,出错信息显示…用户ID‟;2)空值时,出错信息需要统一,例如可以采用“静态文字”+不能为空;3)出现录入错误时,例如可以统一采用“静态文字”+格式不符合要求;4)提示信息标点符号是否标识;点击上一步,返回的页面上不应残留出错信息;5)静态提示信息,在录入框右侧,应有录入信息的相应要求的提示文字,达到方便操作的目的;6)必输项提示信息,必输项提示信息采用统一的标志。
8. 导航测试死导航、乱导航、操作复杂等。
WEB安全性-2010_OWASP_TOP10

OWASP TOP 10-2010开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。
其目的是协助个人、企业和机构来发现和使用可信赖软件。
OWASP发布了最新的Web应用脆弱性的top 10,这是继2007年OWASP对TOP10进行修订后进行的又一次更改,该版本暂定为OWASP TOP 10- 2010。
在新版本的OWASP TOP10中主要由以下变化:1. Top10的命名发生了变化。
原先的Top10全称为“The top 10 most critical web application security vulnerabilities”,即“Web应用的十大关键脆弱性”,现在Top10的全称为“The top 10 most critical web application security risks”,即“Web应用的十大关键风险”2. OWASP Top 10的风险评估方法此次Top 10的评估是依据OWASP的风险评估方法来对OWASP TOP10排序的。
3. 替换了2个风险此次Top 10与2007年的Top 10相比,在内容上去掉了“Malicious File Execution”(恶意文件执行)和“Information leakage and improper error handling”(信息泄露及不恰当的错误处理),增加了“Security misconfiguration”(错误安全配置)和“Unv alidated redirects and forwards”(未验证的重定向和传递)。
OWASP TOP10 2007 OWASP TOP10 2010A2-注入 A1-注入A1-跨站脚本(XSS) A2-跨站脚本(XSS)A7-错误的认证和会话管理 A3-错误的认证和会话管理A4-不正确的直接对象引用 A4-不正确的直接对象引用A5-伪造跨站请求(CSRF) A5-伪造跨站请求(CSRF)A6-安全性误配置A10-限制远程访问失败 A7-限制远程访问失败A8-未验证的重定向和传递A8-不安全的加密存储 A9-不安全的加密存储A9-不足的传输层保护 A10-不足的传输层保护A3-恶意文件执行A6-不安全的通讯OWASP风险评估方法OW ASP所选取的10大风险是依据OW ASP的风险评估方法,我们从标准的风险模型开始,即风险=可能性*后果,下面我们以以下步骤来说明某个风险的严重程度:第一步:识别风险识别风险作为评估的第一步,我们必须找到与这个风险相关的威胁、相应的攻击方法、隐含在里面的脆弱性以及最终可能造成的后果,当然可能存在多种攻击方法和多种后果,在评估时我们往往会采用最坏选择,这样就能更客观的反应该风险的最终评级;第二步:考虑影响可能性的因素通常,我们不可能很精准的说出某个风险的可能性数值,所以我们一般用高、中、低来表示,而且影响某个风险的可能性的因素有很多,对于每个因素我们用0到9的数值来表示。
Web网站的主要测试内容

1.1Web网站的主要测试内容1、网站的主要的测试内容Web网站的测试技术主要涉及如下几个方面进行。
(1)功能测试1)页面内容测试——正确性、准确性、相关性2)链接测试3)表单测试4)数据校验5)Cookies 测试内容——Cookies是否能正常工作,Cookies是否按预定的时间进行保存,刷新对Cookies 有什么影响等。
6)链接测试——超级链接对于网站用户而言意味着能不能流畅的使用整个网站提供的服务,因而链接将作为一个独立的项目进行测试。
7)链接测试可以手动进行,也可以自动进行。
链接测试必须在集成测试阶段完成,也就是说,在整个Web 网站的所有页面开发完成之后进行链接测试.8)表单测试——表单就是一些需要在线显示和填写的表格,表单有一些标准操作,如确认,保存,提交等。
(2)性能测试网站的性能测试主要从两个方面进行:1)负荷测试(Load):负荷测试指的是进行一些边界数据的测试2)压力测试(Stress):压力测试更像是恶意测试,压力测试倾向应该是致使整个系统崩溃。
性能测试可以采用相应的工具进行自动化测试。
(3)安全性测试目前网络安全问题日益重要,特别对于有交互信息的网站及进行电子商务活动的网站尤其重要(4)稳定性测试网站的稳定性测试是指网站的运行中整个系统是否运行正常,目前没有更好的测试方案,主要采用将测试服务器长时间运转进行测试。
(5)兼容性测试操作系统平台测试和浏览器兼容性测试。
(6)用户界面测试(侧重于可用性/易用性测试)(7)压力测试的内容压力测试必须对Web 服务应用以下四个基本条件进行有效的压力测试:重复(Repetition)、并发(Concurrency)、量级(Magnitude)——需要考虑每个操作中的负载量,即也要尽量给产品增加负担、随机变化。
(8)代码合法性测试2、功能测试(1)功能测试的基本方法其基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望的相同。
Web网站测试流程和方法

一、测试流程所有测试的流程大体上是一致的:开始测试前准备-->需求分析-->测试设计(测试计划,测试用例)-->执行测试--> 提交BUG-->测试总结。
对于web测试,较之其他软件测试又有所不同,这是细节的不同,这个不同需要我们在不停的测试中去总结web测试正式测试之前,应先确定如何开展测试,不可盲目的测试。
一般网站的测试,应按以下流程来进行:1)使用HTML Link Validator将网站中的错误链接找出来;2)测试的顺序为:自顶向下、从左到右;3)查看页面title是否正确。
(不只首页,所有页面都要查看);4)LOGO图片是否正确显示;5)LOGO下的一级栏目、二级栏目的链接是否正确;6)首页登录、注册的功能是否实现;7)首页左侧栏目下的文章标题、图片等链接是否正确;8)首页中间栏目下的文章标题、图片等链接是否正确;9)首页右侧栏目下的文章标题、图片等链接是否正确;10)首页最下方的【友情链接】、【关于我们】等链接是否正确;11)进入一级栏目或二级栏目的列表页。
查看左侧栏目名称,右侧文章列表是否正确;12)列表页的分页功能是否实现、样式是否统一;13)查看文章详细页面的内容是否存在乱码、页面样式是否统一;14)站内搜索(各个页面都要查看)功能是否实现;15)前后台交互的部分,数据传递是否正确;16) 默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
二、UI测试UI测试包括的内容有如下几方面:1)各个页面的样式风格是否统一;2)各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;3)各个页面的title是否正确;4)栏目名称、文章内容等处的文字是否正确,有无错别字或乱码;同一级别的字体、大小、颜色是否统一;5)提示、警告或错误说明应清楚易懂,用词准确,摒弃模棱两可的字眼;6)切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致,文字是否窜行;7)父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示出窗体标题为宜;8)按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上放置很大的按钮;按钮的样式风格要统一;按钮之间的间距要一致;9)页面颜色是否统一;前景与背景色搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色;10)若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止;11)导航处是否按相应的栏目级别显示;导航文字是否在同一行显示;12)所有的图片是否都被正确装载,在不同的浏览器、分辨率下图片是否能正确显示(包括位置、大小);13)文章列表页,左侧的栏目是否与一级、二级栏目的名称、顺序一致;14) 调整分辨率验证页面格式是否错位现象;15)鼠标移动到Flash焦点上特效是否实现,移出焦点特效是否消失;16) 文字颜色与页面配色协调,不使用与背景色相近的颜色。
常见的web安全性测试点

常见的web安全性测试重点1.XSS(CrossSite Script)跨站脚本攻击XSS(CrossSite Script)跨站脚本攻击。
它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意用户的特殊目的。
测试方法:在数据输入界面,添加记录输入:<script>alert(/30141/)</script>,添加成功如果弹出对话框,表明此处存在一个XSS漏洞。
或把url请求中参数改为<script>alert(/30141/)</script>,如果页面弹出对话框,表明此处存在一个XSS 漏洞修改建议:过滤掉用户输入中的危险字符。
对输入数据进行客户端和程序级的校验(如通过正则表达式等)。
Eg:对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤2.CSRF与跨站脚本(XSS)CSRF与跨站脚本(XSS),是指请求迫使某个登录的浏览器向易受攻击的Web应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。
测试方法:同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功使用工具发送请求,在http请求头中不加入referer字段,检验返回消息的应答,应该重新定位到错误界面或者登陆界面。
修改建议:在不同的会话中两次发送同一请求并且收到相同的响应。
这显示没有任何参数是动态的(会话标识仅在cookie 中发送),因此应用程序易受到此问题攻击。
因此解决的方法为1.Cookie Hashing(所有表单都包含同一个伪随机值):2. 验证码3.One‐Time Tokens(不同的表单包含一个不同的伪随机值)客户端保护措施:应用防止CSRF攻击的工具或插件。
3.注入测试SQL注入是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WEB安全测试要考虑的10个测试点本文主要论述了WEB安全测试要考虑的10个测试点:
1、问题:没有被验证的输入
测试方法:
数据类型(字符串,整型,实数,等)
允许的字符集
最小和最大的长度
是否允许空输入
参数是否是必须的
重复是否允许
数值范围
特定的值(枚举型)
特定的模式(正则表达式)
2、问题:有问题的访问控制
测试方法:
主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址
例:从一个页面链到另一个页面的间隙可以看到URL地址
直接输入该地址,可以看到自己没有权限的页面信息,
3、错误的认证和会话管理
例:对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解析出来
4、缓冲区溢出
没有加密关键数据
例:view-source:http地址可以查看源代码
在页面输入密码,页面显示的是*****, 右键,查看源文件就可以看见刚才输入的密码。
5、拒绝服务
分析:攻击者可以从一个主机产生足够多的流量来耗尽狠多应用程序,最终使程序陷入瘫痪。
需要做负载均衡来对付。
6、不安全的配置管理
分析:Config中的链接字符串以及用户信息,邮件,数据存储信息都需要加以保护程序员应该作的:配置所有的安全机制,关掉所有不使用的服务,设置角色权限帐号,使用日志和警报。
分析:用户使用缓冲区溢出来破坏web应用程序的栈,通过发送特别编写的代码到web程序中,攻击者可以让web应用程序来执行任意代码。
7、注入式漏洞
例:一个验证用户登陆的页面,
如果使用的sql语句为:
Select * from table A where username=’’ + username+’’ and pass word …..
Sql 输入‘ or 1=1 ―― 就可以不输入任何password进行攻击
或者是半角状态下的用户名与密码均为:‘or’‘=’
8、不恰当的异常处理
分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞,
9、不安全的存储
分析:帐号列表:系统不应该允许用户浏览到网站所有的帐号,如果必须要一个用户列表,推荐使用某种形式的假名(屏幕名)来指向实际的帐号。
浏览器缓存:认证和会话数据不应该作为GET的一部分来发送,应该使用POST,
10、问题:跨站脚本(XSS)
分析:攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料
测试方法:
● HTML标签:<…>…</…>
● 转义字符:&(&);<(<);>(>);(空格) ;
● 脚本语言:
<script. language=‘javascript’>
…Alert(‘’)
</script>
● 特殊字符:‘ ’ < > /● 最小和最大的长度● 是否允许空输入。