网站的安全测试

发表于:2009-11-13来源:作者:点击数: 标签:
网站的安全测试 软件测试 安全测试是什么 所谓安全性测试(security testing)是有关验证应用程序的安全服务和识别潜在安全性 缺陷 的过程。 注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所

网站的安全测试        软件测试

安全测试是什么

  所谓安全性测试(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应用所面临的最大威胁之一。让任何资源都对公众开放本来就有很大的挑战,在网络世界中更是如此。

        其中Open Web Application Security Project(owas)就是流行之一。

 

 

 

原文转自:http://www.ltesting.net