客户端伪造 cookie 的方法和防范

栏目: 编程工具 · 发布时间: 6年前

内容简介:一个朋友有个很古老很古老的网站,使用了asp搭建,流量还很大,最近测试了下 WEB园,性能提升很大。需要改 session 为 cookie 方式保存 会话信息,让我给提 安全方面的建议。实际 Session 和 Cookie 除了保存状态,安全方面都差不多。唯一需要注意的就是 不要 通过 cookie 保存 用户敏感信息(比如密码),防止中间人获取信息。密码加了md5也不安全,因为还有cmd5.com。另一个需要注意的就是 用户 可以通过 js 伪造 cookie信息。以下面的例子为例:

一个朋友有个很古老很古老的网站,使用了asp搭建,流量还很大,最近测试了下 WEB园,性能提升很大。需要改 session 为 cookie 方式保存 会话信息,让我给提 安全方面的建议。

实际 Session 和 Cookie 除了保存状态,安全方面都差不多。唯一需要注意的就是 不要 通过 cookie 保存 用户敏感信息(比如密码),防止中间人获取信息。密码加了md5也不安全,因为还有cmd5.com。另一个需要注意的就是 用户 可以通过 js 伪造 cookie信息。

以下面的例子为例:

正常 用户登录后,会保存 用户的状态,比如下面的代码:

user_name = "user01"
user_level = 1
response.cookies("username01") = user_name
response.cookies("userlevel01") = user_level

其他页面如果需要判断用户登录信息,可以通过判断cookie,一般代码如下:

response.write "<br>用户: " & request.cookies("username01")
response.write "<br>级别: " & request.cookies("userlevel01")

正常是没有问题的,加入 用户比较懂技术,可以通过 js 修改用户名和级别:

document.cookie='username02=user02';
document.cookie='userlevel02=2';

这样就悲剧了,如下面的演示,用户名和级别可以随便改。

客户端伪造 cookie 的方法和防范

修改方法也比较简单,在 用户登录成功后,增加个 单独的 cookie,比如hash,代码如下:

'-----公共配置---------------
salt = "防止被猜出规则,增加的额外的字符串"
'-----其他代码---------------
user_name = "user01"
user_level = 1
response.cookies("username02") = user_name
response.cookies("userlevel02") = user_level
response.cookies("hash02") = md5(user_name & user_level & salt)

读取用户时,读取 hash 判断是否相同,如果不同,则cookie被篡改了

'-----公共配置---------------
salt = "防止被猜出规则,增加的额外的字符串"
'-----其他代码---------------
response.write "<br>用户: " & request.cookies("username02")
response.write "<br>级别: " & request.cookies("userlevel02")
if request.cookies("hash02") = md5(request.cookies("username02") & request.cookies("userlevel02") & salt) then
	response.write "<br>没有修改过"
else
	response.write "<br><span style='color:#CC0000'>已经被篡改</span>"
end if

这样用户通过JS修改cookie,也会被程序发现的。

document.cookie='username02=user02';
document.cookie='userlevel02=2';

下面的演示可以看到,cookie已经被修改。

客户端伪造 cookie 的方法和防范

所有相关的代码,已经打包成一个压缩包,方面大家下载测试: http://www.miaoqiyuan.cn/products/cookie_test.rar


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

CSS3 Solutions

CSS3 Solutions

Marco Casario / Apress / 2012-8-13 / GBP 35.50

CSS3 brings a mass of changes, additions, and improvements to CSS across a range of new modules. Web designers and developers now have a whole host of new techniques up their sleeves, from working wit......一起来看看 《CSS3 Solutions》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具