网站的安全测试 软件测试
安全测试是什么
所谓安全性测试(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)就是流行之一。