介绍
随着越来越多的重要数据都存储在web应用上,以及网络事务数量的增长,适当的基于网络应用程序的安全性测试也变得相当重要。安全性测试是指机密的数据确保其机密性(例如,不是将其暴露给不恰当的不被授权的个人或用户实体)以及用户只能在其被授权的范围进行操作(例如,一个用户不应该能够单方面有权限屏蔽掉网站的某一功能,一个用户不应该能够在某种无心的状态下改变网络应用程序的功能)的这样一个过程。
一些在安全性测试中运用到的重要的术语
在我们说的更深入之前,了解一些网络应用程序的安全性测试中使用频繁的术语会很有帮助:
1、什么是“易受攻击性”?
这是网络应用程序的一个软肋。造成这个“软肋”的原因,可能是程序中的bug,一种注入(SQL/脚本代码)或者已存在的病毒。
2、什么是“URL处理”?
一些网络应用程序通过URL在客户端(浏览器)和服务器端之间进行额外信息的传递。有时在URL中改变信息可能会导致服务器不可预期的结果。
3、什么是“SQL注入”?
是指通过网络应用的用户接口插入SQL指令到服务器所执行的查询中去的过程。
4、什么是“XSS(跨站式脚本攻击)”?
当一个用户通过Web应用接口插入HTML代码,而这种嵌入其中的代码对于其他用户是可见的,被称做XSS。
5、什么是“欺骗”?
完全仿造网站或电子邮件的赝品被称为欺骗。
安全性测试方法:
为了对Web应用提供一次有效的安全性测试,安全测试人员应当对HTTP协议有很好的认知。对于客户端(浏览器)和服务器端之间如何运用HTTP通信有很好的了解是非常重要的。除此之外,测试人员需了解最基本的SQL注入以及跨站式脚本攻击。如果运气好的话,在Web应用上发现的安全漏洞的数目不会很多。不管怎样,能够对所发现的问题精确具体地描述安全漏洞能提供相当大的帮助。
1. 密码破解:
Web应用上的安全测试可由“密码破解”开始。为了登录应用程序的非公开领域,可以通过猜测用户名/密码或者利用一些密码破解工具来达到相同的目的。常用用户名和密码列表与开源密码破解工具一样有可用价值。如果一个web应用不强制要求复杂的密码(例如,包含字母,数字和特殊字符,包含最小字符长度要求),那么这个用户名和密码不用花费很长的时间就可以被破解。
……………………
查看全文请点击下载:http://www.51testing.com/html/29/n-120029.html
3. SQL注入:
第二件应该在SQL注入中检查的是,在应用程序的任何一个文本框输入一个单引号应当是非法的。反之,如果测试人员遇到一个数据库错误,表示用户输入插入了一些查询并被应用程序所执行。这样的话,该应用容易受到SQL注入的攻击。
SQL注入攻击是非常危险的,因为攻击者可以从服务器数据库获取一些重要的信息。检查你在Web应用上的SQL注入点,找出你代码库中那些能够直接在数据库上接收用户输入而执行的MySQL查询的代码。
如果用户输入数据被用作查询数据库,攻击者可以注入SQL语句或者伪装SQL语句为用户输入从数据库提取重要信息。即使攻击者成功的摧毁了应用,在浏览器上显示了SQL查询错误,他们仍可以获取他们所找寻的信息。鉴于这种情况,用户输入的特殊字符应当被适当的处理或者避免。
4. 跨站式脚本攻击(XSS):
测试人员应当额外的检查对Web应用的跨站式脚本攻击。任何HTML,比如<HTML>或者任何脚本,比如<SCRIPT>,应用程序都不应当接受。不然,该应用很容易受到跨站式脚本的攻击。
攻击者可以利用此方法在被攻击者的浏览器上执行恶意代码或者URL。经此跨站式脚本攻击,攻击者能够利用像JavaScript之类的脚本来盗取用户Cookie以及存储在Cookie中的信息。
很多Web应用从不同页面的一些变量里传递或提取用户信息。
……………………
查看全文请点击下载:http://www.51testing.com/html/29/n-120029.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。