其实我们有时候会抱怨需求为什么会考虑不周全,可是换个角度想想,我们认可程序会存在bug,那么需求同样也会有。这就像是一场接力赛,需求是第一棒,开发是第二棒,测试是第三棒,每一棒的交接都有上一棒的辛苦付出,也只有彼此信任和共同的努力,才能最终传递胜利。

安全测试

上一篇 / 下一篇  2010-03-08 11:17:30

 今天在网上看到一篇不错的文章,收藏到空间

 

    配置测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统数据库其他应用软件构成的环境。

   安全性测试(security testing)是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。

注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。

 

WEB安全性测试

  一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密、参数操作、异常管理、审核和日志记录等几个方面入手。

  一、 安全体系测试

  1、部署与基础结构

  网络是否提供了安全的通信

  部署拓扑结构是否包括内部的防火墙

  部署拓扑结构中是否包括远程应用程序服务器

  基础结构安全性需求的限制是什么

  目标环境支持怎样的信任级别

  2、 输入验证

??        如何验证输入

  1) 是否清楚入口点

  2) 是否清楚信任边界

  3) 是否验证Web页输入

  4) 是否对传递到组件或Web服务的参数进行验证

  5) 是否验证从数据库中检索的数据

  6) 是否将方法集中起来

  7) 是否依赖客户端的验证

  8) 应用程序是否易受SQL注入攻击

  9) 应用程序是否易受XSS攻击

??        如何处理输入

  3、 身份验证

  1)是否区分公共访问和受限访问

  2)是否明确服务帐户要求

  3)如何验证调用者身份

  4)如何验证数据库的身份

  5)是否强制试用帐户管理措施

  4、授权

  1)如何向最终用户授权

  2)如何在数据库中授权应用程序

  3)如何将访问限定于系统级资源

  5、配置管理

  1)是否支持远程管理

  2)是否保证配置存储的安全

  3)是否隔离管理员特权

  6、 敏感数据

    1) 是否存储机密信息

2) 如何存储敏感数据

3)是否在网络中传递敏感数据

4)是否记录敏感数据

 

二、测试实施

1、 不登录系统,直接输入登录后的页面的url是否可以访问

     2、不登录系统,直接输入下载文件的url是否可以下载,如输入http://url/download?name=file是否可以下载文件file

     3、退出登录后按后退按钮能否访问之前的页面

     4.、ID/密码验证方式中能否使用简单密码。如密码标准为6位以上,字母和数字混合,不能包含ID,连续的字母或数字不能超过n位

     5、重要信息(如密码,身份证号码,信用卡号等)在输入或查询时是否用明文显示;在浏览器地址栏里输入命令javascrīpt:alert(doucument.cookie)时是否有重要信息;在html源码中能否看到重要信息

     6、手动更改URL中的参数值能否访问没有权限访问的页面。如普通用户对应的url中的参数为l=e,高级用户对应的url中的参数为l=s,以普通用户的身份登录系统后将url中的参数e改为s来访问本没有权限访问的页面

     7、url里不可修改的参数是否可以被修改

     8、上传与服务器端语言(jsp、asp、php)一样扩展名的文件或exe等可执行文件后,确认在服务器端是否可直接运行

     9、注册用户时是否可以以'--,' or 1=1 --等做为用户名

     10、传送给服务器的参数(如查询关键字、url中的参数等)中包含特殊字符(','and 1=1 --,' and 1=0 --,'or 1=0 --)时是否可以正常处理

     11、执行新增操作时,在所有的输入框中输入脚本标签(<scrīpt>alert("")</scrīpt>)后能否保存

  12、在url中输入下面的地址是否可以下载:http://url /download.jsp?file=C:\windows\system32\drivers\etc\hosts,http://url/download.jsp?file=/etc/passwd

     13、是否对session的有效期进行处理

     14、错误信息中是否含有sql语句、sql错误信息以及web服务器的绝对路径等

     15、ID/密码验证方式中,同一个账号在不同的机器上不能同时登录

     16、ID/密码验证方式中,连续数次输入错误密码后该账户是否被锁定

17、新增或修改重要信息(密码、身份证号码、信用卡号等)时是否有自动完成功能(在form标签中使用autocomplete=off来关闭自动完成功能)

 

1、web平台:web平台软件漏洞,包括Http底层服务软件(比如,IIS或Apache)等底层基础设施,以及应用程序开发框架(如Asp.Net或者PHP).

  2、web应用:对授权、认证、站点结构、输入验证、程序逻辑以及管理接口进行攻击。

  3、数据库:通过数据库查询进行特权命令,操纵查询以返回额外的数据集,这里最具破坏性的攻击是SQL注入。

  4、web客户端:活动内容执行、客户端软件漏洞攻击、跨站脚本错误,以及钓鱼欺骗

  5、传输:窃听客户-服务器通信,SSL重定向

  6、可用性:如果要你迅速地指出更危险的"黑客"技术,拒绝服务攻击 (denial of service,DoS)经常会被遗漏,其实DoS攻击是任何可公开访问的Web应用所面临的最大威胁之一。让任何资源都对公众开放本来就有很大的挑战,在网络世界中更是如此。 

TAG:

 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 5120
  • 日志数: 9
  • 书签数: 1
  • 建立时间: 2008-03-21
  • 更新时间: 2010-03-08

RSS订阅

Open Toolbar