1. 什么是 cookie 欺骗
改变 cookie 的值,发给服务器,就是 cookie 欺骗。
正常情况下,受浏览器的内部 cookie 机制所限,每个 cookie 只能被它的原服务器所访问,我们操作不了原服务器。
2.cookie 使用示例
index.html 写入 cookie {'username':'zhangsan','psw':'123'}
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>
- </title>
- <meta charset="utf-8" />
- <script type="text/javascript" src="jquery.min.js">
- </script>
- <script type="text/javascript" src="jquery.cookie.js">
- </script>
- <script type="text/javascript">
- $.cookie('username', "zhangsan");
- $.cookie('psw', "123");
- </script>
- </head>
- <body>
- </body>
- </html>
运行 index.html, 通过 Chrome F12 开发者工具,可以看到 cookie 信息。
可以看到 cookie 要和 domain 域名对应。每个 cookie 只能被对应的域名所访问,其他域名无法访问。
3. 如何进行 cookie 欺骗
修改 hosts,将域名 (dev.test.com) 对应的 ip 转为自己的 ip(121.43.113.200),写在自己的 ip 下修改 cookie,会发现域名对应的 cookie 更改了。
步骤:
1) 修改 host
121.43.113.200 dev.test.com
2) 将 index.html 放入服务器 121.43.113.200
3) 访问 url:dev.test.com/index.html
4) 查看 cookie 信息
5) 还原 host
#121.43.113.200 dev.test.com
6) 访问 url:dev.test.com,会发现 dev.test.com 中的 cookie 已被修改。
4.cookie 欺骗防止
随机码防止 cookie 欺骗
原理:在服务端生成唯一随机码,每次提交 cookie 时带上随机码,和服务端的随机码校验。
来源: