通过Java Script 非常容易访问到当前网站的cookie
你可以打开任何网站,然后在浏览器地址栏中输入:java script:alert(doucment.cookie)
立刻就可以看到当前站点的cookie(如果有的话)
攻击者可以利用这个特性来取得你的关键信息
例如,和XSS攻击相配合,攻击者在你的浏览器上执行特定的Java Script脚本,取得你的cookie
假设这个网站仅依赖cookie来验证用户身份,那么攻击者就可以假冒你的身份来做一些事情。
现在多数浏览器都支持在cookie上打上HttpOnly的标记, 凡有这个标志的cookie就无法通过Java Script来取得,如果能在关键cookie上打上这个标记,就会大大增强cookie的安全性
以下是获取Cookie信息的主要途径:
直接读取磁盘的Cookie文件,Windows系统的Cookie信息存放目录是
C:/Documents and Settings/%yourname%/Cookies
FireFox的Cookie信息是在FireFox的Profiles目录中
使用网络嗅探器来获取网络上传送的Cookie
使用一些Cookie管理工具获取内存或者文件系统中的Cookie
使用跨站脚本来盗取别人的Cookie
假如我们成功获取了cookie信息,那下一步理所当然地就是要进行攻击了
常用的攻击步骤有:
查看Cookie信息,对Cookie信息进行分析
修改Cookie中的逻辑判断类信息,比如一些boolean标志,01标志等等,访问服务器,观察服务器的反应。
修改Cookie信息中数字类型的信息,比如id, number等等这类的值,观察服务器反应。
获取别人的Cookie信息,然后根据别人的Cookie信息修改自己本地的Cookie信息,看服务器是否会把自己识别为其他人。
那我们应该如何防范利用Cookie进行的攻击呢?
不要在Cookie中保存敏感信息
不要在Cookie中保存没有经过加密的或者容易被解密的敏感信息
对从客户端取得的Cookie信息进行严格校验
记录非法的Cookie信息进行分析,并根据这些信息对系统进行改进。
使用SSL/TLS来传递Cookie信息