HTTP Strict-Transport-Security 缺失


前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

- HTTP Strict-Transport-Security 缺失 -

Web 服务器对于 HTTP 请求的响应头缺少 Strict-Transport-Security,这将导致浏览器提供的安全特性失效,更容易遭受 Web 前端黑客攻击的影响。HTTP Strict Transport Security(通常简称为 HSTS)是一个安全功能,它告诉浏览器只能通过 HTTPS 访问当前资源,而不是 HTTP。当 Web 服务器的 HTTP 头中包含 Strict-Transport-Security 时,浏览器将持续使用 HTTPS 来访问 Web 站点,可以用来对抗协议降级攻击和 Cookie 劫持攻击。

Strict-Transport-Security 可选配置的值如下:

strict-transport-security: max-age=<expire-time>
strict-transport-security: max-age=<expire-time>; includeSubDomains
strict-transport-security: max-age=<expire-time>; includeSubDomains; preload

示例:

strict-transport-security: max-age=31536000; includeSubDomains; preload

释义:

  • max-age=31536000 设置在浏览器收到这个请求后的 31536000 秒(等价于 1 年)的时间内,凡是访问这个域名下的请求都使用 HTTPS 请求。
  • includeSubDomains 可选,如果这个可选的参数被指定,那么说明此规则也适用于该网站的所有子域名。
  • preload 可选,加入预加载列表。

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

可使用验证工具列举如下:

检测目标网站 HTTP 响应头 Strict-Transport-Security 缺失。

0x04 漏洞修复

  1. 修改网站配置文件,推荐在所有传出请求上发送值为 max-age=31536000; includeSubDomains; preload 的 Strict-Transport-Security 响应头。
  2. Strict-Transport-Security 配置详解:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Strict-Transport-Security

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
用户名枚举漏洞 用户名枚举漏洞
在应用系统登录的过程中,当输入错误的用户名信息时,应用程序将反馈相应的诸如“用户不存在”的错误提示,攻击者可通过该提示为依据对用户名进行枚举,猜解出已存在于应用系统的用户名信息,最终攻击者再对已有用户的密码进一步猜解,从而降低暴力破解的成本。
2022-12-10
下一篇 
HTTP X-Content-Type-Options 缺失 HTTP X-Content-Type-Options 缺失
Web 服务器对于 HTTP 请求的响应头缺少 X-Content-Type-Options,这意味着此网站更易遭受跨站脚本攻击(XSS)。X-Content-Type-Options 响应头相当于一个提示标志,被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定,而不能对其进行修改,这就禁用了客户端的 MIME 类型嗅探行为。浏览器通常会根据响应头 Content-Type 字段来分辨资源类型,有些资源的 Content-Type 是错的或者未定义,这时浏览器会启用 MIME-sniffing 来猜测该资源的类型并解析执行内容。利用这个特性,攻击者可以让原本应该解析为图片的请求被解析为 JavaScript 代码。
2022-11-24
  目录