Cookie初步了解及安全测试 初步了解

Cookie 提供了一种在Web 应用程序中存储用户特定信息的方法,例如存储用户的上次 访问时间等信息。假如不进行cookie存储一个网站的用户行为,那么可能会造成以下问题:用户进行购买几件商品转到结算页面时,系统怎样知道用户之前订了哪几件商品。因为,cookie其中一个作用就是记录用户操作系统的日志,而系统对cookie不单单是存储,还有读取,也就是说系统和用户之前是一个交互的过程,这称为有状态。

但是Cookie 在带来这些编程的方便性的同时,也带来了安全上的问题。Cookie 的安全性问题与从客户端获取数据的安全性问题是类似的,可以把Cookie 看成是另外一种形式的用户输入,因此很容易被黑客们非法利用这些数据。由于Cookie 保存在客户端,因为在客户端可以直接看到Cookie中存储的数据,而且可以在浏览器向服务器端发送Cookie 之前更改Cookie 的数据。因此,对Cookie 的测试,尤其是安全性方面的测试 非常重要,是Web 应用系统测试中的重要方面。

·如何判断正在测试的Web 系统使用了cookie?

在进行Cookie 测试之前,首先要判断被测试的Web 应用系统是否使用了Cookie。当然可以找出web系统的设计文档、功能规格说明书来看个究竟,或者直接问开发人员。除此之外,还有更加直接的办法:

(1)找到电脑中存储cookie 的目录。

需要注意的是不同的浏览器把Cookie 数据存储在不同的目录,IE 浏览器把Cookie 数据存储在类似下面的目录:

C:Documents and SettingsuserLocal SettingsTemporary InternetFiles

(2)删除所有cookie。

在IE 中,cookie 与缓存的临时文件存储在一起。可使用IE 中的删除Cookies 文件功能来删除所有Cookie,也可直接找到存储Cookie 文件的目录进行删除。打开IE 浏览器,选择 菜单“工具 | Internet 选项”(或者按快捷方式“Ctrl+Shift+Delete”),如图1 所示。


Cookie初步了解及安全测试 初步了解

图1 Internet 选项

单击“删除Cookies”按钮,出现如图2 所示的对话框。单击“确定”按钮,把所有Cookie 文件删除掉。


图2删除Cookies

(3)设置IE,当使用到Cookie 时自动提示。

如果想确切地知道测试的Web 系统在什么地方使用了Cookie,可以对IE 浏览器进行一些设置,让IE 浏览器在使用到Cookie 时自动弹出提示窗口,这样测试时就能知道在什么时候、什么功能操作使用到了Cookie。IE 的设置方法是:打开IE 菜单“工具 | Internet 选项”,切换到“隐私”页面,如图3 所示。


图3设置IE

单击“高级”按钮,出现如图4 所示的界面。


图4高级隐私策略设置

选择“覆盖自动cookie 处理”,在“第一方Cookie”处选择“提示”,在“第三方Cookie”

处也选择“提示”,然后单击“确定”按钮。这样,当Web 页面使用到Cookie 时,IE 浏览

器会自动提示如图5 所示的界面。


图5隐私警报

说明:单击其中的“详细信息”,可以看到如图6 所示的Cookie 详细信息。包括

Cookie 的名称、来源、路径、数据、截止期限等信息。


图6 查看详细的Cookie 信息

·Cookie 测试方法 -屏蔽 Cookie

这是最简单的Cookie 测试方法,检查当Cookie 被屏蔽时Web 系统会出现什么问题。

首先关闭所有浏览器实例,删除测试机器上的所有cookie。设置IE 屏蔽Cookie,可通过把IE 的“隐私”设置为如图7 所示的“阻止所有Cookie”。


图7 阻止所有Cookie

然后运行Web 系统的所有主要功能,很多时候会出现功能不能正常运行的情况。如果用户必须激活Cookie 使用设置才能正常运行web 系统的话,则需要检查Web 服务器是否能正确识别出客户端的Cookie 设置情况,当用户屏蔽了Cookie 时,Web 服务器应该发送一个提示页面,告诉用户激活Cookie 设置才能使用系统(测试用例)

·Cookie 测试方法 -有选择性地拒绝Cookie

这种测试方法的目的是验证这种情况:如果某些Cookie 被接受,某些Cookie 被拒绝,

Web 系统会发生什么事情?

首先删除测试机器上的所有Cookie,然后设置IE的Cookie 选项,当Web 系统试图设置一个Cookie 时弹出提示。然后运行Web 系统的所有主要功能。在弹出的Cookie 提示中,接受某些Cookie,拒绝某些Cookie。检查Web系统的工作情况,看Web 服务器是否能检测出某些Cookie 被拒绝了,是否出现正确的提示信息。有可能Web 系统会因为这样而出现错误、崩溃、数据错乱,或其他不正常的行为。

例如在测试过程中,对前面的用于测试浏览器是否接受Cookie 的“测试Cookie”都予

以接受,但是对后面的设置Cookie 则予以拒绝,那么如果后续的代码要依赖所设置的Cookie 时,则会出错。例如下面的代码中,读取Cookies 部分的代码如果没有判断Cookie 是否存

在,则会出现异常。

·Cookie 测试方法 -篡改Cookie

如果某些存储下来的Cookie 被篡改了,或者被删除了,Web 系统会出现什么问题吗?

如果Web 系统不能检测到Cookie 数据被篡改了,则很可能出现功能异常,或者数据错乱等问题。优秀的设计则会检测到Cookie 数据的篡改,及时更新替换Cookie 文件。

假设有如下ASP.NET 页面,根据Cookie 判断访问者的到访顺序,并且根据到访顺序做出相应的业务处理,如果是第8 位访问者,则送出奖品,那么就可能导致别有用心者通过篡改Cookie 数据来获得奖品。

protected void Page_Load(object sender, EventArgs e)

{

int counter;

if (Request.Cookies["counter"] == null)

{

counter= 0;

}

else

{

// 读取Cookie 数据

counter = int.Parse(Request.Cookies["counter"].Value);

}

counter++;

// 如果是第8 位访问者

if(counter == 8)

{

this.Label2.Text = "您是第8 位访问者!";

}

// 设置Cookie

Response.Cookies["counter"].Value = counter.ToString();

Response.Cookies["counter"].Expires =DateTime.Now.AddDays(1);

}

可以通过修改存储下来的Cookie 数据来达到不公平竞争的目的,查找到这个ASP.NET

页面使用的Cookie 文件并用文本编辑工具打开,可看到类似如下信息:

counter

3

127.0.0.1/

1536

1291366528

29908157

589053024

29907956

*

把 counter后面的值改为 7(注意修改前要关闭浏览器)。然后再次访问上面的

ASP.NET.NET 页面,则counter 值变成了8,页面提示“您是第8 位访问者!”。

说明:测试过程中应该查找是否有业务逻辑是依赖Cookie 存储值而进行的,如果有,

则尝试修改Cookie 的值,看是否导致功能不正常,或者业务逻辑的混乱。另外,也可以尝

试有选择性地删除Cookie。在运行Web系统一段时间后,把其中某些Cookie 文件删除掉,

然后继续使用Web 系统,看会出现什么情况,是否能恢复、是否有数据丢失或错乱。

·Cookie 测试方法 - Cookie 加密测试

检查存储的Cookie 文件内容,看是否有用户名、密码等敏感信息存储,并且未被加密处理。某些类型的数据即使是加密了也绝对不能存储在Cookie 文件中的,例如:信用卡号。

测试的方法可以手工地打开所有Cookie 文件来查看,也可以利用一些Cookie 编辑工具来查看,例如,如图8 所示的Cookie Editor。


图8 Cookie Editor 界面

利用Cookie Editor,可以列出所有Cookie 文件,还可以在Cookie 文件中搜索内容,如

图9 所示。


图9 搜索Cookie

说明:在“Look for”的输入框中输入需要查找的内容,例如username、password 等敏

感信息的关键字,单击“Go”按钮进行查找。

·Cookie 安全内容检查

Cookie 安全内容检查包括前面讲的存储内容的检查,还包括以下方面:

(1)Cookie 过期日期设置的合理性:检查是否把Cookie 的过期日期设置得过长。

(2 )HttpOnly 属性的设置:把Cookie 的HttpOnly 属性设置为True 有助于缓解跨站点脚本威胁,防止Cookie 被窃取。

(3)Secure 属性的设置:把Cookie 的Secure 属性设置为True,在传输Cookie 时使用SSL连接,能保护数据在传输过程中不被篡改。

对于这些设置,可以利用Cookie Editor 来查看是否正确地被设置,如图10 所示。


图10查看Cookie 的设置

说明:可在“Expiration Date and Time”中查看Cookie 的过期日期设置是否合理,查“HttpOnly”和“Secure”是否勾选上,勾选上表示设置为True。在“CookieValue”中可查看是否存在敏感信息,数据是否经过加密。

参考来源:http://cnblogs.com/hackchecker51testing网在此表示感谢!

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/132294.html

更多阅读

IOS4与IOS5详细比较及越狱测试 ios9.3.4越狱最新消息

ios5完美越狱的放出,想必很多人会从已经完美了的4.3.3及以下固件升级到ios5.0.1。以下是ios4与ios5之间的比较。基本能让你知道你花了好几小时倒腾的固件升级后能够多做一些什么,如果你不了解之间有什

铅笔硬度及附着力ASTM标准测试操作要点 漆膜铅笔法硬度计

铅笔硬度及附着力测试操作要点:铅笔硬度(标准:ASTM D3363-05)1.铅笔准备:确保铅笔芯露出5-6mm,在400号砂纸上磨平。2.操作规范性:铅笔由硬到软,朝背离操作者的方向以45°夹角向前推,划线长度约6.5 mm。对已测试过的地方是否做标记(例如:圈

中国周边地缘政治及安全形势分析 中国边缘地区政治格局

近期东亚局势风云变幻,跌宕起伏。先后发生了几期受到全世界关注的事件。1、中菲黄岩岛对峙2012年4月10日,菲律宾海军企图在南海黄岩岛附近抓扣中国渔民,被中国海监船制止,双方随后发生对峙至今。截至4月25日,中菲双方在黄岩岛对峙事件已

设备安全操作规程及保养转载 设备维修保养规程

设备安全操作规程及保养一、一般安全操作规程1、本一般安全操作规程使用于公司所有生产设备。2、只有接受过机器操作培训及安全操作培训并考核合格的人员才能操作机器。3、非本机台定岗人员未经许可不得操作机器。4、必须在机器状况

危重患者的风险评估及安全防范措施 危重患者病情评估

一、危重患者护理的高风险因素1.观察病情不细致、预见性不强所造成的风险:由于危重患者的病情危重,病情较复杂、变化快、并发症多,如果护士专科知识不足,经验缺乏、粗心大意、责任意识淡薄、对病情没有预见性,没有发现病情变化,如患者猝死

声明:《Cookie初步了解及安全测试 初步了解》为网友骨感来自心房分享!如侵犯到您的合法权益请联系我们删除