51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 7557|回复: 15
打印 上一主题 下一主题

[总结]软件安全测试涉及的一些方面

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-2-20 16:50:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人刚开始做软件安全测试,以下是本人的一些总结。这些方面是比较基本的。希望大虾们补充。谢谢!

注:以下只是涉及WEB安全测试的一些方面,并不全,且不涉及网络安全和服务器安全方面的测试。


软件安全测试涉及的方面

1.
输入的数据没有进行有效的控制和验证
包括:
l
数据类型(字符串,整型,实数,等)

l
允许的字符集

l
最小和最大的长度

l
是否允许空输入

l
参数是否是必须的

l
重复是否允许

l
数值范围

l
特定的值(枚举型)

l
特定的模式(正则表达式)

:建议尽量采用白名单)

2.
用户名和密码
l
是否设置密码最小长度

l
用户名和密码中是否可以有空格或回车?

l
是否允许密码和用户名一致

l
防恶意注册:可否用自动填表工具自动注册用户?

l
遗忘密码处理

l
有无缺省的超级用户?

l
有无超级密码?

l
是否有校验码?

l
密码错误次数有无限制?


3.
直接输入需要权限的网页地址可以访问
如:没有登录或注销登录后,直接输入登录后才能查看的页面的网址,能直接打开页面;
    注销后,点浏览器上的后退,可以进行操作。
正常登录后,直接输入自己没有权限查看的页面的网址,可以打开页面。

4.
认证和会话数据作为GET的一部分来发送
认证和会话数据不应该作为GET的一部分来发送,应该使用POST

5.
隐藏域与CGI参数
分析:有此隐藏域中泄露了重要的信息,有时还可以暴露程序原代码。
     直接修改CGI参数,就能绕过客户端的验证了。
如:<input type="hidden" name="h" value="http://XXX/checkout.php">
只要改变value的值就可能会把程序的原代码显示出来。

6.
上传文件没有限制
分析:上传文件最好要有格式的限制;
     上传文件还要有大小的限制。

7.
把数据验证寄希望于客户端的验证
分析:客户端是不安全,重要的运算和算法不要在客户端运行。
      重要的数据(如:密码)在客户端应该加密。

例:保存网页并对网页进行修改,使其绕过客户端的验证。(如只能选择的下拉框,对输入数据有特殊要求的文本框)

8.
跨站脚本(XSS
分析:攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料

测试方法:
HTML标签:<></>
         转义字符:&amp(&)&lt(<)&gt(>)&nbsp(空格)
         脚本语言:

<script language=‘javascript’>


…Alert(‘’)


</script>

         特殊字符:‘   <
>
/

         最小和最大的长度


是否允许空输入

  :对GridLabelTree view类的输入框未作验证,输入的内容会按照html语法解析出来

9.
注入式漏洞(SQL注入)
分析:用户登录处、不用登录可以查看到的数据库中的数据列表尤为重要。


10.
不恰当的异常处理
分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-2-20 16:50:33 | 只看该作者
[接上]

11.   不安全的存储

在页面输入密码,页面不显示 “*****”;

数据库中存的密码没有经过加密;

地址栏中可以看到刚才填写的密码;

右键查看源文件就可以看见刚才输入的密码;



12.   不安全的配置管理

分析:Config中的链接字符串以及用户信息,邮件,数据存储信息都需要加以保护

程序员应该作的: 配置所有的安全机制,关掉所有不使用的服务,设置角色权限帐号,使用日志和警报。



例:数据库的帐号是不是默认为“sa”,密码(还有端口号)是不是直接写在配置文件里而没有进行加密。



13.   传输中的密码没有加密

分析:传输中的密码要进行加密。

传输前加密用SSL加密,https的方式提交用户名和密码;

如果使用tomcat做服务器的话,SSL加密只需配置就可以了:

TOMCAT用https替换http的方法   
  //////////////////////////////////////////////////////////////   
  首先用java的工具keytool   生成一个ssl证书:     
  keytool   -genkey   -keyalg   RSA         -alias   youraliasname     -keystore   .keystore         
  输入keystore密码:     yourpass   
  您的名字与姓氏是什么?   
      [Unknown]:     liubin   
  您的组织单位名称是什么?   
      [Unknown]:     test   
  您的组织名称是什么?   
      [Unknown]:     www.test.com   
  您所在的城市或区域名称是什么?   
      [Unknown]:     beijing   
  您所在的州或省份名称是什么?   
      [Unknown]:     beijing   
  该单位的两字母国家代码是什么   
      [Unknown]:     cn   
  CN=liubin,   OU=test,   O=www.test.com,   L=beijing,   ST=beijing,   C=cn   正确吗?   
      [否]:     y     
  输入<CidSoftKey>的主密码   
                  (如果和   keystore   密码相同,按回车):      
  然后修改tomcat的conf下的server.xml文件,将注视掉的如下的内容的注释去掉:  

          <Connector   className="org.apache.coyote.tomcat4.CoyoteConnector"   
           port="8443"   minProcessors="5"   maxProcessors="75"   
         enableLookups="true"   
         acceptCount="100"   debug="0"   scheme="https"   secure="true"   
         useURIValidationHack="false"   disableUploadTimeout="true">   
            <Factory     
              className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"                clientAuth="false"   protocol="TLS"     
             keystoreFile="D:\tomcat4.1\key\.keystore"   keystorePass="tmypwd"   />   
          </Connector>  

  然后重起tomcat之后就可以访问了,记得端口是8443      
  而且,是要用https,不是http



14.   弱密码,默认密码

分析:使用了太常见的用户名(如:admin、admin888等)和密码(如:123456、000000等);

注册的用户可以用很弱的密码;

默认的密码是固定的。

以上都是不安全的。



15.   缓冲区溢出

分析:用户使用缓冲区溢出来破坏web应用程序的栈,通过发送特别编写的代码到web程序中,攻击者可以让web应用程序来执行任意代码。



16.   拒绝服务

分析:攻击者可以从一个主机产生足够多的流量来耗尽狠多应用程序,最终使程序陷入瘫痪。需要做负载均衡来对付。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-2-21 20:09:33 | 只看该作者
善于总结,谢谢分享,相互学习
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-3-19 11:25:04 | 只看该作者

学习中

学习中
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-8 15:40:25 | 只看该作者
收藏了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-14 21:16:20 | 只看该作者
收藏了,好东西。。呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-20 12:13:27 | 只看该作者
很不错!!!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-7-11 15:53:05 | 只看该作者
多谢分享,先下来看看!!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-2-1 15:31:38 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-2-3 09:22:40 | 只看该作者
支持一下
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-3-5 11:05:54 | 只看该作者
恩,不错,不错,俺也来支持一下。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-6-22 17:35:00 | 只看该作者
谢了
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2011-8-20 16:15:28 | 只看该作者
GOOD
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2011-10-24 20:25:03 | 只看该作者
感谢楼主辛苦发贴。吞噬星空  http://www.kanshu.la/
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2011-11-4 10:15:39 | 只看该作者
总结的不错!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2016-4-18 19:23
  • 签到天数: 189 天

    连续签到: 1 天

    [LV.7]测试师长

    16#
    发表于 2012-7-5 10:29:18 | 只看该作者
    相当的给力  不错   收藏了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-5 21:11 , Processed in 0.085544 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表