一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。
1.安全体系测试
1) 部署与基础结构
u 网络是否提供了安全的通信
u 部署拓扑结构是否包括内部的防火墙
u 部署拓扑结构中是否包括远程应用程序服务器
u 基础结构安全性需求的限制是什么
u 目标环境支持怎样的信任级别
2) 输入验证
u 如何验证输入
u 是否清楚入口点
u 应用程序是否易受SQL注入攻击
u 应用程序是否易受XSS攻击
u 如何处理输入
3)身份验证
6)敏感数据
7)会话管理
8)加密
9)参数操作
10)异常管理
11)审核和日志记录
2.应用及传输安全
1. 注册与登陆:现在的Web应用系统基本采用先注册,后登录的方式。
u 必须测试有效和无效的用户名和密码
u 要注意是否存在大小写敏感
u 可以尝试多少次的限制
u 是否可以不登录而直接浏览某个页面等。
2. 在线超时:Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
3. 操作留痕:为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。
4. 备份与恢复:为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括以下几个方面。
5. HTTPS和SSL测试:默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。
6. 服务器端的脚本漏洞检查:存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
7. 防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。
原文链接:https://www.cnblogs.com/qmfsun/p/3722466.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/17491