你的网站安全吗?ZAP应用实例

news/2024/5/16 22:53:46/文章来源:https://blog.csdn.net/kevingao/article/details/93377638

按照清华大学出版社出版的新书《软件测试实战教程》第8章安全性测试,测试了一个Web应用,发现了5种问题。如图所示:

对每一种问题进行了分析,并提出了解决方案。解决问题后,再用ZAP扫描,已经没有这些问题了。

X-Frame-Options Header Not Set

X-Frame-Options HTTP 响应头未设置

说明:HTTP响应中不包含X-Frame-Options头,以防止“clickjacking”(点击劫持)攻击。

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object>中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,避免点击“clickjacking”(点击劫持) 的攻击。

X-Frame-Options有三种可配置值

X-Frame-Options: DENY

X-Frame-Options: SAMEORIGIN

X-Frame-Options: ALLOW-FROM https://example.com/

DENY

表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN

表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri

表示该页面可以在指定来源的 frame 中展示。

注: 在网页中设置meta标签是无用的!例如,<meta http-equiv="X-Frame-Options" content="deny"> 是没有效果的。不要使用这种方式。可以在Web服务器中配置,使得HTTP响应中包含X-Frame-Options。

解决方案:在web.xml中增加如下配置:

    <filter>

        <filter-name>HeaderFilter</filter-name>

        <filter-class>org.eclipse.jetty.servlets.HeaderFilter</filter-class>

        <init-param>

            <param-name>headerConfig</param-name>

            <param-value>

              set X-Frame-Options: SAMEORIGIN,

              "add Cache-Control: no-cache, no-store, must-revalidate",

              setDate Expires: 31540000000,

              addDate Date: 0,

            </param-value>

        </init-param>

    </filter>

   

    <filter-mapping>

        <filter-name>HeaderFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

我测试的项目是用Maven构建的,我增加了如下依赖:

<dependency>

    <groupId>org.eclipse.jetty</groupId>

    <artifactId>jetty-servlets</artifactId>

    <version>9.4.19.v20190610</version>

</dependency>

 

Cookie No HttpOnly Flag

Cookie没有HttpOnly标志

说明:一个cookie被设置为不带HttpOnly标志,这意味着该cookie可以被javascript访问。如果可以在此页面上运行恶意脚本,则cookie将可以被恶意脚本访问,并可以传输到其他站点。如果这是会话cookie,则可能发生会话劫持。

解决方案:确保为所有cookie设置了HttpOnly标志。Servlet 3.0支持在web.xml进行会话cookie设置:

<web-app>

  <session-config>

    <cookie-config>

      <!--             

        Specifies whether any session tracking cookies created

        by this web application will be marked as HttpOnly

      -->

      <http-only>true</http-only>

    </cookie-config>

  </session-config>

</web-app>

 

在我测试的Web应用中,web.xml原来包含如下代码:

<web-app version="2.5"

         xmlns="http://java.sun.com/xml/ns/javaee"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

 

我修改为如下的代码,以支持进行会话cookie设置:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

 

X-Content-Type-Options Header Missing

X-Content-Type-Options HTTP 响应头缺失

   说明:X-Content-Type-Options 是用来禁用浏览器内容嗅探行为的。内容嗅探技术可能会把不可执行的 MIME 类型转变为可执行的 MIME 类型。反MIME嗅探头x-content-type-options未设置为“nosniff”,这允许旧版本的Internet Explorer和Chrome在响应主体上执行mime嗅探,可能导致响应主体被解释并显示为声明的内容类型以外的内容类型。

 

注意: nosniff 只应用于 "script" 和 "style" 两种类型。事实证明,将其应用于图片类型的文件会导致与现有的站点冲突。

 

X-Content-Type-Options: nosniff

 

这个设置使得下面两种情况的请求将被阻止:

  1. 请求类型是"style" 但是 MIME 类型不是 "text/css",
  2. 请求类型是"script" 但是 MIME 类型不是  JavaScript MIME 类型。

 

解决方案:在web.xml中增加如下配置:

    <filter>

        <filter-name>HeaderFilter</filter-name>

        <filter-class>org.eclipse.jetty.servlets.HeaderFilter</filter-class>

        <init-param>

            <param-name>headerConfig</param-name>

            <param-value>

              set X-Content-Type-Options: nosniff

            </param-value>

        </init-param>

    </filter>

   

    <filter-mapping>

        <filter-name>HeaderFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

 

未启用Web浏览器XSS保护

说明:Web浏览器XSS保护未启用,或被Web服务器上“x-xss-protection”HTTP响应头的配置禁用。

XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.  比如获取用户的Cookie,导航到恶意网站,携带木马等。

为了防止发生XSS, 很多浏览器厂商都在浏览器中加入安全机制来过滤XSS。 例如IE8,IE9,Firefox, Chrome. 都有针对XSS的安全机制。 浏览器会阻止XSS。

解决方案:通过将X-XSS-Protection HTTP响应头设置为“1”,确保已启用Web浏览器的XSS筛选器。在web.xml中增加如下配置:

    <filter>

        <filter-name>HeaderFilter</filter-name>

        <filter-class>org.eclipse.jetty.servlets.HeaderFilter</filter-class>

        <init-param>

            <param-name>headerConfig</param-name>

            <param-value>

              set X-XSS-Protection:1

            </param-value>

        </init-param>

    </filter>

   

    <filter-mapping>

        <filter-name>HeaderFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

Loosely Scoped Cookie

说明:cookies可以按域或路径划分范围。此检查仅与域作用范围有关。应用于cookie的域作用范围确定哪些域可以访问它。例如,一个cookie可以严格地限定在子域范围内,例如www.nottrusted.com,或者松散地限定在父域范围内,例如nottrusted.com。在后一种情况下,nottrusted.com的任何子域都可以访问cookie。范围松散的cookie在像google.com和live.com这样的大型应用程序中很常见。从app.foo.bar等子域设置的cookie只能通过浏览器传输到该域。但是,作用于父级域的cookie可以传输到父级域或父级域的任何子域。

解决方案:始终将cookie范围限定到一个FQDN(完全限定的域名)。

我测试的Web应用网址是http://localhost:9000,修改为http://www.example.org,ZAP就没有报这个警报了。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_893293.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IIS-网站报500.19错误代码0x8007000d问题解决

错误信息 问题原因 webconfig文件中的rewrite这个标签被当成错误标签了。 解决方案 URL Rewrite官网下载&#xff1a;https://www.iis.net/downloads/microsoft/url-rewrite安装完成后&#xff0c;打开即可

如何使用Python的Django框架创建自己的网站

如何使用Python的Django框架创建自己的网站 Django建站主要分四步&#xff1a;1、创建Django项目&#xff0c;2、将网页模板移植到Django项目中&#xff0c;3、数据交互&#xff0c;4、数据库 1创建Django项目 本人使用的是pycharm编辑器&#xff0c;打开pycharm&#xff0c…

网站项目成功管理实践(刘振飞)

网站项目成功管理实践 刘振飞 —发表在《程序员》杂志2005年第8期58~62页的原文— 在开始做 http://133.newsky.cn之前&#xff0c;我已经明白网站的开发与产品开发没有什么不同。不过在2004年离开微软中国研发中心Office组的时候&#xff0c;我对网站开发仍一无所知&#xff0…

网站日记分析插件【土拨鼠网站日记管理(分析推送二合一)】宝塔插件,日记分析和网站收录推送

应用名称&#xff1a;土拨鼠网站日记分析管理版本&#xff1a;3.0 目前只支持linux版宝塔作者&#xff1a;土拨鼠 功能介绍&#xff1a;SEO辅助工具&#xff0c;站点蜘蛛&#xff0c;访问记录&#xff0c;模拟蜘蛛&#xff0c;监控统计。只要添加的蜘蛛池IP丰富。便可以精准过…

网站防采集_【土拨鼠网站日记管理(分析推送二合一)】宝塔插件之可疑蜘蛛列表(找出采集蜘蛛)说明书

可疑蜘蛛列表功能介绍&#xff1a; 可疑蜘蛛列可以筛选出采集蜘蛛、假的搜索引擎蜘蛛、一般模拟蜘蛛都是带着目的才会模拟的。有些是灰帽模拟蜘蛛镜像我们的站点&#xff0c;导致站点降权&#xff0c;或者使用采集软件模拟蜘蛛采集我们站点的文章&#xff0c;抢占我们的关键词…

死链URL抓取【土拨鼠网站日记管理(分析推送二合一)】宝塔插件之死链蜘蛛列表说明书

死链蜘蛛列功能介绍&#xff1a; 死链蜘蛛列可以筛选出蜘蛛访问的404链接。 使用技巧&#xff1a; 1.站点降权的时候可以在这个查看是否有死链。死链多的时候也会降权。 2.可以查看是否有不法分子模拟蜘蛛。扫站&#xff0c;比如URL的后缀是.zip,.rar这类的。访问站点不存在…

土拨鼠网站日记管理(分析推送二合一)】宝塔插件之自动爬取全站URL推送说明书

自动爬取全站URL推送说明书: 此功能将会针对爬取的站点进行全站URL爬取并且进行推送&#xff0c;爬取的每一条URL都会只推送一次&#xff0c;不会重复推送。 1.设置爬取的URL尽量是本服务器的站点&#xff0c;如果要推送别的站点可以先测试服务器能否请求到这个站点。别的站点…

百度URL自动推送收录插件【土拨鼠网站日记管理(分析推送二合一)】推送功能配置教程

推送功能配置教程&#xff08;推送功能和网站日记分析功能可以单独分开始用&#xff0c;需要哪个功能就单独设置这个功能即可&#xff09;&#xff1a; 第一次使用推送功能需要在【工具设置】先生成缓存数据库和配置推送计划 初次设置&#xff1a; 自动爬取整站URL推送 &…

PS做食品网站

PS做食品网站 姓名&#xff1a;蒋林松 日期&#xff1a;2019.5.27 食品网站大家应该都听说过吧&#xff0c;都有一种和熟系的感觉&#xff0c;大家平时有没有观察在网上购物的时候人家的网站是这么做的呢&#xff0c;首先我们做食品网站就要去做关于食品类型的网站&#xff0c;…

网站中用到的图标字体集

一个按钮&#xff0c;前后左右中或带有一个图标&#xff0c;代表这个按钮的实际意义。现在已经有成熟简单的方法来完成。 font-face是CSS3中有关于字体设置的属性&#xff0c;通过font-face可以将本地字体设置为Web页面字体&#xff0c;并能兼容所有浏览器。使用font-face配合一…

win8 iis安装及网站发布(上)

系统&#xff1a;win8 环境&#xff1a;vs2012 一&#xff1a;安装IIS 比较win7的安装来说&#xff0c;多选了几个钩钩&#xff0c;不然会报错&#xff0c;偶就遇到这样的错误。 控制面板-》程序和功能-》启动和关闭windows功能&#xff0c;钩钩图例&#xff1a; 装好之后在控制…

win8 iis安装及网站发布(下)

在setting里设置 release any cpu ok 下一步 发布 3&#xff1a;建站 启动IIS信息管理器 &#xff08;运行-〉inetmgr&#xff09; 网站-〉右击添加网站&#xff0c;设置好路径&#xff0c;端口号&#xff0c;应用程序池我的默认为 确定好后&#xff0c;浏览网站&#xff0c;…

网站域名“符号化”正在变得越来越重要

网站域名“符号化”正在变得越来越重要&#xff0c;符号化的简单域名是对用户的尊重 一个好记、易识别的域名&#xff0c;对一家网站来说&#xff0c;有着举足轻重的作用。闽南网相关负责人从四个方面对新域名的价值进行了解读。 第一、对于新媒体来说&#xff0c;“符号化”正…

动态网站初体验

技能结构图 B/S 和 C/S 什么是B/S技术 B/S结构&#xff08;浏览器browser/服务器server&#xff09;&#xff1a;程序完全部署在服务器上&#xff0c;用户通过浏览器访问应用程序&#xff0c;他是基于Internet的产物 B/S技术的工作原理 B/S结构中浏览器端与服务器端采用请求…

绕过CDN查找网站真实ip

绕过CDN查找网站真实IP 转载自 https://xiaix.me/rao-guo-cdncha-zhao-wang-zhan-zhen-shi-ip/ 这篇博文比较全面&#xff0c;有很强的参考价值 0x01 验证是否存在CDN 方法1 很简单&#xff0c;使用各种多地 ping 的服务&#xff0c;查看对应 IP 地址是否唯一&#xff0c;如果不…

视频网站开关灯特效

开关灯效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <title>关灯/开灯效果…

技术人创业建站简略指南(Version 0.03)

你是一个技术人员&#xff0c;你想创建一个站点&#xff0c;或许是一时心血来潮&#xff0c;或许是为了自己的兴趣爱好&#xff0c;或许是… 「创业」前的热身准备&#xff1f;那么&#xff0c;如何少走弯路的构建起来你的 Web 站点呢&#xff1f;别笑&#xff0c;不是每个做技…

网站的身份验证

网站的身份验证 左直拳 前段时间用ASP.NET做一个网站&#xff0c;其中有个要求是网站里有些页面或功能需要用户登录后才能浏览或使用。 应该没有什么问题&#xff0c;因为ASP.NET提供了完善的身份验证服务。 ASP.NET 与 IIS 一起使用以支持身份验证。有四种验证方式供君选择&a…

创建第一个asp.net网站

标题&#xff1a;创建第一个asp.net网站 摘要&#xff1a;通过对微软Visual Studio 2008的简单操作介绍。指导您使用Visual Web Developer 来创建简单页&#xff0c;演示了vs开发asp.Net的基本技术。 难度&#xff1a;10 很早就想学习asp.Net了&#xff0c;断断续续的拖了一年…

微博网站用OAuth就一定安全吗?

现在微博网站很火&#xff0c;新浪微博、搜狐微博、腾讯微博、网易微博……无论是在电视上、还是公交车上、地铁上&#xff0c;真的是铺天盖地了&#xff0c;也因此这些公司的市值不断提升。为了吸引更多的应用&#xff0c;这些网站也纷纷开放API&#xff0c;以开放平台的方式供…