前提
使用OWASP ZAP对网站进行安全扫描,扫描后发现一些警告。
使用警告名称在百度进行搜索就能看到在OWASP ZAP网站上对应警告的解释。
可以在如下地址输入alert查询
https://www.zaproxy.org/docs/alerts/
Missing Anti-clickjacking Header
见https://www.zaproxy.org/docs/desktop/addons/passive-scan-rules/#anti-clickjacking-header
解释: If the X-Frame-Options header is missing from the response completely.
是指响应头缺少X-Frame-OPions
没有保障和避免自己的网页嵌入到别人的站点里面,于是需要设置X-Frame-Options增加安全性。
解决参考:https://blog.csdn.net/zzhongcy/article/details/124609116
Vulnerable JS Library
js库过期,建议升级
Timestamp Disclosure
见https://www.zaproxy.org/docs/alerts/10096/
解释:应用或者web服务器,泄露了时间戳。
X-Content-Type-Options Header Missing
https://blog.csdn.net/Hjupan/article/details/125136530
解释:通过设置”X-Content-Type-Options: nosniff”响应标头,对 script 和 styleSheet 在执行是通过MIME 类型来过滤掉不安全的文件。
CSP: Wildcard Directive
https://www.zaproxy.org/docs/alerts/10055-4/
确保您的 Web 服务器、应用程序服务器、负载均衡器等。已正确配置为设置Content-Security-Policy header
CSP(Content Security Policy,内容安全策略)是一种Web安全策略,通过指定一系列的服务器规则和白名单来防止恶意脚本攻击或减少跨站脚本攻击的风险。CSP的关键思想是,建立一个白名单,规定哪些域名允许执行JavaScript、加载图片、使用iframe和其他资源。对于不在白名单上的域名,浏览器将停止加载相关资源,从而防止攻击者注入恶意代码。
CSP可以通过一些HTTP头部信息配置于服务器和网站之间的通信中,如Content-Security-Policy
、X-Content-Security-Policy
和X-WebKit-CSP
等。CSP中可以规定的策略包括限制可执行的脚本、限制能够加载的资源类型(图片、样式表、字体等)、限制 iframe 的来源和 javaScript 的 eval() 中使用等等。CSP能够提高Web应用程序的安全性。
.htaccess Information Leak
Solution :Ensure the .htaccess file is not accessible.
.htaccess
是一个Apache服务器配置文件,用于控制网站的访问权限、重定向、缓存设置、防止盗链和其他各种web服务器设置。该文件可以被放置在网站目录的根目录下或任何子目录中,通过使用一些规则和指令来修改服务器行为。.htaccess
文件可以用文本编辑器编辑并放置在网站的根目录中,例如:public_html
文件夹。在配置文件中,可以设置服务器参数、目录访问权限以及页面跳转等应用级别的处理规则。使用.htaccess
文件可以简化Web服务器的管理,使得管理员能够实现更灵活的控制。
Cookie without SameSite Attribute
https://www.zaproxy.org/docs/alerts/10054/
确保所有 Cookie 的 SameSite 属性设置为“宽松”或理想情况下为“严格”。
SameSite
是一项新的Cookie
属性,它可以控制Cookie
是否应该发送到跨站点请求中,以防止跨站点请求伪造(CSRF)攻击。SameSite
属性可以设置为三个值:Strict
、Lax
和None
。
-
Strict
:如果设置为严格模式,则Cookie
仅在同一站点上发送。因此,如果存在跨站点情况,则不允许Cookie
发送。 -
Lax
:如果设置为宽松模式,则Cookie
可以在导航到目标网站之前通过GET方法发送。例如,当用户从站点A导航到站点B时,站点B将作为一个跨站点,但如果站点B导航是通过GET方法进行的,则可以发送Cookie
。 -
None
:如果设置为无模式,则Cookie
可以在所有请求中发送,并且响应必须设置一个Secure
属性,以确保只有在HTTPS连接下访问网站时才能发送此类跨站Cookie
。
SameSite
属性通常与Secure
属性结合使用,以确保Cookie
只在HTTPS连接下发送以及合适的SameSite
设置。使用SameSite
属性可以提高网站的安全性并防止恶意攻击。