asp.net-mvc - ASP.NET MVC 5 Azure App ZAP Scan 指示代理披露漏洞 - 我们如何防止这种情况发生?
问题描述
ZAP 扫描报告指示检测到 2 个代理服务器或对其进行指纹识别。它说它对我们的 url 执行了 GET 和 POST 方法,带有 TRACE、带有 Max-Forwards 标头的 OPTIONS 和 TRACK 方法的攻击。我们已经通过 Web 配置更改或代码更改删除了不必要的标头,例如 Server 和 X-Powered-By ...以及响应中的 asp.net 版本标头,但我们仍然看到这一点。此外,提到的 url 只允许 GET 或 POST,而不是 TRACE、OPTIONS 或 TRACK 方法。我们甚至在 web.config 中有以下内容来防止这些动词:
<system.webServer>
<security>
<requestFiltering removeServerHeader="true">
<verbs allowUnlisted="true">
<add verb="OPTIONS" allowed="false" />
<add verb="TRACK" allowed="false" />
<add verb="TRACE" allowed="false" />
</verbs>
</requestFiltering>
</security>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="NotFound.html" responseMode="File" />
<remove statusCode="500" />
<error statusCode="500" path="Error.html" responseMode="File" />
</httpErrors>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
</system.webServer>
那么我们如何才能解决这个问题,或者我们还能做些什么来防止这种情况发生呢?谢谢
解决方案
我认为你解决不了问题。这部分我研究过,我也在门户中提过票。
此响应不是来自服务器,它由 azure 前端处理,无法删除特定标头。
您无需花时间解决此问题,也可以向 Microsoft Azure 提出支持问题。
推荐阅读
- android - 如何避免flutter中的内存不足?
- javascript - 如果我想为数组的单个索引提供多个元素,如何在 javascript 中填充数组
- python - 使用 ahk 库将击键发送到记事本
- mysql - 当一个数据有撇号标记时,ajax 请求出错(无效的 json 响应)
- python - 在 Networkx 中映射两个图
- r - 如果月-年组合不等于系统的月-年,则从同一月的去年值交换值的结果
- components - 如何在 Svelte 中的多个插槽和它们的父级之间共享状态
- apache-pig - 阿帕奇猪查询
- sql - EXECUTE ('CALL SCHEMA.PROC')、CALL SCHEMA.PROC 和 EXCEUTE 之间是否存在性能差异
- python - 计算派生列