在网站测试中如何做好安全性测试
注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。
以下是我读<<软件评测试教程>>中的Web安全性测试章节内容,并进行修改的笔记,前面看了好多朋友写的,不过不是很全,希望对大家有所帮助,建议大家还是买本<<软件评测试教程>>此书绝对物超所值_
WEB安全性测试
一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。
- 安全体系测试
- 部署与基础结构
l 网络是否提供了安全的通信
l 部署拓扑结构是否包括内部的防火墙
l 部署拓扑结构中是否包括远程应用程序服务器
l 基础结构安全性需求的限制是什么
l 目标环境支持怎样的信任级别 - 输入验证
l 如何验证输入
A. 是否清楚入口点
B. 是否清楚信任边界
C. 是否验证Web页输入
D. 是否对传递到组件或Web服务的参数进行验证
E. 是否验证从数据库中检索的数据
F. 是否将方法集中起来
G. 是否依赖客户端的验证
H. 应用程序是否易受SQL注入攻击
I. 应用程序是否易受XSS攻击
l 如何处理输入 - 身份验证
l 是否区分公共访问和受限访问
l 是否明确服务帐户要求
l 如何验证调用者身份
l 如何验证数据库的身份
l 是否强制试用帐户管理措施 - 授权
l 如何向最终用户授权
l 如何在数据库中授权应用程序
l 如何将访问限定于系统级资源 - 配置管理
l 是否支持远程管理
l 是否保证配置存储的安全
l 是否隔离管理员特权 - 敏感数据
l 是否存储机密信息
l 如何存储敏感数据
l 是否在网络中传递敏感数据
l 是否记录敏感数据 - 会话管理
l 如何交换会话标识符
l 是否限制会话生存期
l 如何确保会话存储状态的安全 - 加密
l 为何使用特定的算法
l 如何确保加密密钥的安全性 - 参数操作
l 是否验证所有的输入参数
l 是否在参数过程中传递敏感数据
l 是否为了安全问题而使用HTTP头数据 - 异常管理
l 是否使用结构化的异常处理
l 是否向客户端公开了太多的信息 - 审核和日志记录
l 是否明确了要审核的活动
l 是否考虑如何流动原始调用这身份
2. 应用及传输安全
WEB应用系统的安全性从使用角度可以分为应用级的安全与传输级的安全,安全性测试也可以从这两方面入手。
应用级的安全测试的主要目的是查找Web系统自身程序设计中存在的安全隐患,主要测试区域如下。
l 注册与登陆:现在的Web应用系统基本采用先注册,后登录的方式。
A. 必须测试有效和无效的用户名和密码
B. 要注意是否存在大小写敏感,
C. 可以尝试多少次的限制
D. 是否可以不登录而直接浏览某个页面等。
l 在线超时:Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
l 操作留痕:为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。
l 备份与恢复:为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。
传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括以下几个方面。
l HTTPS和SSL测试:默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。
l 服务器端的脚本漏洞检查:存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
l 防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。
另推荐安全性测试工具:
Watchfire AppScan:商业网页漏洞扫描器(此工具好像被IBM收购了,所以推荐在第一位)
AppScan按照应用程序开发生命周期进行安全测试,早在开发阶段就进行单元测试和安全保证。Appscan能够扫描多种常见漏洞,例如跨网站脚本、HTTP应答切开、参数篡改、隐藏值篡改、后门/调试选项和缓冲区溢出等等。
Acunetix Web Vulnerability Scanner:商业漏洞扫描器(目前用的比较多,不过这东东N占内存)
Acunetix WVS自动检查您的网页程序漏洞,例如SQL注入、跨网站脚本和验证页面弱密码破解。Acunetix WVS有着非常友好的用户界面,还可以生成个性化的网站安全评估报告。
在网站测试中如何做好安全性测试相关推荐
- 测试中BUG定义、测试BUG的等级划分、Bug流程以及Bug解决优先级
一个优秀的软件测试师不仅仅能够发现软件中的bug,还能分析出bug产生的原因. 总结了一些软件测试入门必须要了解和学习的BUG基础知识,主要包括BUG定义.测试BUG的等级划分.Bug流程以及Bug解 ...
- 软件质量测试中的健壮性测试是什么?一文和你说
当大多数人开车时,他们不会担心刹车失灵.当他们的孩子得到一个新玩具时,他们也不担心因故障受伤.事实上,大多数人在日常生活中根本不担心系统故障. 这是因为软件开发人员或质量控制工程师已经解决了质量问题. ...
- 有哪些浏览器兼容性测试,如何做好兼容性测试工作?
一个软件产品或者程序需要在不同浏览器上使用,兼容不同浏览器版本,听起来是一件复杂的事情.以我们熟知的主流浏览器就有很多版本,比如火狐浏览器.谷歌浏览器.IE浏览器等,想要软件产品或者程序在这些浏览器上 ...
- App测试中Android和IOS测试区别
App测试中ios和Android有哪些区别呢? 1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用: 2. 多分辨率测试,Android端20多种,ios较少: 3. 手 ...
- 网站建设中如何做好一个网站
做一个好网站很重要,那么怎样制作网站?对行外人来讲,在预备做一个网站项目时,最想了解的无非就是网站制作的悉数流程.网站制作是要有计划的,事先策划好才能更快更好的完成.. 第一阶段:开始时最好是学些网页 ...
- App测试中IOS和安卓测试的区别
一.分辨率的测试 安卓端有20多种,IOS相对就比较少一些 二.操作系统的版本 安卓的操作系统比较多,IOS比较少,而且它只能支持单项升级,不能支持降级. 三.操作习惯的一些不同 安卓习惯点击BACK ...
- Web系统测试Web安全性测试
WEB安全性测试介绍 WEB安全性测试--拒绝服务攻击 WEB安全性测试--文件上传漏洞 WEB安全性测试--跨站攻击 WEB安全性测试--SQL注入一 WEB安全性测试--SQL注入二 WEB安全性 ...
- 负载测试中极限负载_负载测试准则
负载测试中极限负载 负载测试并非易事. 通常不仅要下载JMeter或Gatling ,记录一些方案然后运行它们. 好吧,也许就是这样,但是如果您是幸运的话. 听起来像"上尉的讲话" ...
- IDEMIA人脸识别技术在NIST最近的FRVT测试中排名第一
法国库尔布瓦--(美国商业资讯)--IDEMIA的人脸识别1:N算法在美国国家标准与技术研究所(NIST)1新近的人脸识别供应商测试(FRVT)中获得最佳准确率的优异成绩. IDEMIA今天宣布,其人 ...
最新文章
- 让你提升命令行效率的 Bash 快捷键 [完整版]
- android 使用NDK
- Android:ListView常见错位之CheckBox错位
- 健康证(公共卫生类)
- 14.count-api
- 关于ensp配置出现 Error: Please renew the default configurations.
- mysql unix_timestamp 格式化_FROM_UNIXTIME 格式化MYSQL时间戳函数_MySQL
- 诚通网盘会员很坑的,升级会员的人要注意
- 【kafka】利用 InfoSphere Data Replication CDC for Kafka 实现高效数据复制
- 用WSL安装Docker镜像
- 【POJ1679】The Unique MST(非严格次小生成树)
- 两种模式的资源管理器代码之———— 删除文件夹
- 【信号与系统】三大变换公式表 | 傅里叶变换 | 拉普拉斯变换 | Z变换
- 能上QQ,不能打开网页
- eval(转换html,js eval函数使用,js对象和字符串互转实例
- ChatGPT 侦探推理小说《神秘失踪》
- eclipse新建类auther自填充
- MySQL数据库软件安装
- 《绝地求生》玩家排名预测(2万5千字~大型综合实战)
- win10怎么更改账户名称_如何自定义WIN10登陆界面的用户名?