|
知识路径: > 测试技术的分类 > Web应用测试 > Web应用运行测试 > 安全性测试 > 安全体系测试 >
|
考试要求:掌握
相关知识点:11个
|
|
|
|
检查应用程序使用参数的方法。这些参数包括了在客户端和服务器间传递的表单字段、查询字符串、cookie、HTTP头和视图状态。如果使用像查询字符串这样的参数传递敏感数据(如会话标识符),恶意客户端可轻松使用简单的参数操作逃避服务器端检查。下表显示了常见的参数操作漏洞。
|
|
|
|
|
测试中需要考虑下列问题,以帮助确保您的设计不受参数操作攻击影响。
|
|
|
|
确保应用程序验证所有的输入参数,包括正常和隐藏的表单字段、查询字符串和cookie。
|
|
|
|
如果应用程序在参数(如查询字符串或表单字段)中传递敏感数据,应检查应用程序使用这种方法而不是更安全的方法(传递会话标识符)的原因。例如,在加密的cookie中传递会话标识符。使用这些信息将会话与在服务器状态存储中维护的用户状态相关联。考虑下列评价问题。
|
|
|
|
如果应用程序使用包含敏感数据的cookie,如用户名或角色列表,确保它是经过加密的。
|
|
|
|
不能这样做,因为就操作查询字符串或表单字段中的数据而言,没有简便的方法可用。实际操作过程中,应考虑使用加密的会话标识符,然后将敏感数据保存在服务器的会话状态存储中。
|
|
|
|
如果Web页或控件使用视图状态在HTTP请求之间维持状态,确保视图状态经过加密,并使用消息验证代码(MAC)检查其完整性。用户可在计算机级配置该设置,也可按页配置。
|
|
|
|
确保Web应用程序不根据HTTP头中的信息制定安全决策,因为攻击者可轻松地操作头数据。不要依赖HTTP引用站点字段的值来检查源于页的请求是否由Web应用程序生成,这将带来漏洞。这种操作本身很不安全,因为引用站点字段可在客户端轻松更改。
|
|
|