就像 SameSite-cookies 我现已重视 Cookie 前缀很长时刻了。经过测验我发现在最新版的 Chrome-dev 浏览器中 Cookie 前缀现已得到了支撑。那么现在是时分写一短篇博客来介绍什么是 Cookie 前缀以及 Cookie 前缀是怎么维护用户的。
修正 Cookie,而非其特点!
Cookie 前缀是 HTTP 协议一个新的机制,其扩展了 Cookie 的特征,经过简略要求具有特定前缀的 Cookie 只能在满意特定规范的景象下才干运用。
咱们改变了 Cookie 的实践称号而不是添加其他特点,这样今后服务器在接收到称号过错的 Cookie 时会直接回绝承受。
这两个前缀分别为 __Secure- 和 __Host- ,它们会被用作 Cookie 称号的前缀而非数值。举个比如,假如你的网站有一个名为 sid 的 Cookie,那么为了发挥 Cookie 前缀的优势,你应当将称号改为 __Secure-sid。
__Secure 前缀
假如 Cookie 称号带有 __Secure- 前缀,那么它必定具有 Secure 特点并且被设置为来源于一个安全的源。
__Host- 前缀
假如 Cookie 称号带有 __Host- 前缀,那么它也必定会具有 Secure 特点,而不应当具有 Domain 特点,由于 Cookie 只能作用于同源的网站,并且有必要设置 Path=/。
译者注(来自 Chrome 的解说):
__Secure-:告知浏览器需求设置 Secure 特点。
__Host-:告知浏览器一起需求设置 Path=/ 和 Secure 特点,一起不应当设置 Domain 特点。
就这么多,这些改动易于完成和运用。但这样真的能够让 Cookie 变的愈加安全吗?
愈加安全的 Cookie 前缀
Cookie 前缀旨在针对现有 Cookie 的一些问题进行改善,其方针是约束来自安全域的 Cookie 被作用在不安全的域上,反之亦然。
相同的,它也能够抵挡 Cookie 注入,由于只要 __Host- 的源能够设置 Cookie。
假如你的网站运用了 HTTPS 并依靠 Cookie 来完成认证,那么能够考虑在你的 Cookie 里添加 __Host- 特点以使网站比曾经愈加安全。
弥补:
作者在 Twitter 上收到一个问题,他觉得本文或许没有论述清楚,运用 Cookie 前缀的首要意图在于运用 Cookie 称号替代 Cookie 特点。
你能够经过拜访这个 POC 来体会下:http://sweha.xxx/k.php
c@c# curl -sI http://sweha.xxx/k.php | grep ^Set
Set-cookie: __Secure-lol=foo;Domain=sweha.xxx
在 Chrome-dev 浏览器中你会发现 Cookie 没有被设置,由于来自不安全的源。而在 Firefox 浏览器中却会被设置 Cookie:
译者弥补
JavaScript 示例:
//支撑 __Secure 前缀的浏览器会回绝以下衔接,由于短少 Secure 特点
document.cookie = '__Secure-invalid-without-secure=1';
//一切浏览器包含支撑 __Secure 前缀的浏览器都会承受以下衔接,由于设置了 Secure 特点
document.cookie = '__Secure-valid-with-secure=1; Secure';
//支撑 __Host 前缀的浏览器会回绝以下衔接,由于短少 Secure 和 Path=/ 特点
document.cookie = '__Host-invalid-without-secure-or-path=1';
//支撑 __Host 前缀的浏览器会回绝以下衔接,由于短少 Path=/ 特点,即便设置了 Secure 特点
document.cookie = '__Host-invalid-without-path=1; Secure';
//一切浏览器包含支撑 __Host 前缀的浏览器都会承受以下衔接,由于一起包含了 Secure 和 Path=/ 特点
document.cookie = '__Host-valid-with-secure-and-path=1; Secure; Path=/';
3 -o输出生成的暗码到指定的文件,如:-olybbnwordlist.txt Verifying-Password:翻开api.spreaker.com/...
D盾新版:ps:定位进犯者,我觉得罗卡规律说的挺好的:凡有触摸,必留痕迹。 192.168.1.2 ether 0A-11-22-33-44-02 C wlan0这个实验中,运用的缝隙是ThinkP...
「破解word密码_黑客网站那里找-黑客技术通过微信找手机」一个邮件软件木马程序为了便利长途的文件更新,会把恶意代码放在长途的一个服务器中,并且会对这个文件进行加密,需求在本地解密,然后装载到内存中,...
一 需求剖析: 1.全体需求:建立一个高可用的网站服务器集群,能接受高并发恳求,能抵御一般的网络进犯,任何一台服务器的退服不影响整个集群的运作,而且能对各服务器的运转状况作出实时监控。 2.详细需求剖...
assert(eval("echo 1;echo 2;"));五、装备外网主机写一个apache 反向署理Task Name 随意写 testps:图片可单击扩大观看。 剖析装备文件:终究,经过了绵长...
运用并行运转代码,能够让你的代码运转速度更快,或许使其对用户事情的呼应更快。 要做到这一点,你需求别离独立运转。 char modifiable; /* The modifiable flag. *...