内容简介:一个朋友有个很古老很古老的网站,使用了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,比如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已经被修改。
所有相关的代码,已经打包成一个压缩包,方面大家下载测试: http://www.miaoqiyuan.cn/products/cookie_test.rar
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 利用X-Forwarded-For伪造客户端IP漏洞成因及防范
- 利用X-Forwarded-For伪造客户端IP漏洞成因及防范
- 跨站请求伪造已死!
- 跨站请求伪造 (CSRF) 攻击
- 跨站请求伪造已经死了!(译文)
- Windows凭证的伪造和窃取技术总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Creative Curve
Allen Gannett / Knopf Doubleday Publishing Group / 2018-6-12
Big data entrepreneur Allen Gannett overturns the mythology around creative genius, and reveals the science and secrets behind achieving breakout commercial success in any field. We have been s......一起来看看 《The Creative Curve》 这本书的介绍吧!