当前位置:网站首页>使用 Zap 和 W3af 进行 Web 应用程序漏洞评估
使用 Zap 和 W3af 进行 Web 应用程序漏洞评估
2022-08-08 05:16:00 【allway2】
OWASP 社区
Open Web Application Security Program (OWASP) 是一个非营利性在线组织,专注于传播有关企业应用程序安全问题的信息和意识,并为企业应用程序安全评估创建指南和工具。
在过去的几年里,它已成为 IT 安全的参考社区之一,分享有关该主题的最佳实践和免费文档。
它最受欢迎的文档之一是“十大 Web 应用程序漏洞”,它列出并描述了 Web 应用程序最关键的安全风险,我基于该文档进行了分析。
评估范围
考虑到这一点,我想分析网站漏洞,包括被动攻击和主动攻击。
被动攻击用于通过检查其页面源代码、搜索有用的关键字、分析流量和网站位置来收集有关网站的信息。他们只会在不影响其功能的情况下向目标网站生成虚假请求。
尽管被动扫描本质上并不危险,但建议与 parsimonia 一起使用,因为它可能导致目标网站处理额外的请求数量,并导致攻击者的临时/永久阻止。出于我的学习目的,我实施的被动攻击不符合这两种情况。
另一方面,对网站的主动攻击可能会损害其功能。因此,我建立了一个自己的目标网站来测试它,尝试复制每个 OWASP 10 漏洞,以便分析它们并了解它们通常来自哪里以及如何缓解它们。
为此,在市场上可用的免费/开源工具中,我选择了两个最广泛和最完整的安全评估工具:ZAP 和 W3af。
ZAP
ZAP(Zed Attack Proxy - zaproxy.org)是许多与软件安全相关的 OWASP 产品之一。
它充当用户浏览器和网络之间的代理,因此它既可以拦截请求/响应消息期间交换的数据包流量,也可以直接攻击目标应用程序。除了代理之外,它还提供了大量的功能,例如模糊器、蛮力、蜘蛛等。因此,它对我的目的来说是一个有用的工具,因为它可以用来执行 Web 应用程序的渗透测试和漏洞评估,引入了一个强大且易于使用的工具。它是开源的,并在过去几年中获得了用户的各种奖项。
有关 ZAP 用法的更多详细信息,请参见 此处。
W3af
W3af(Web 应用程序附加和审计框架 - w3af.org)与 ZAP 类似,是一个开源工具,具有丰富的功能集和活跃的社区。
它基于三个主要模块:
- 核心,协调插件和流程的工具的核心部分
- 用户界面,允许用户交互和配置工具
- 插件,分组为列表(发现、审计、grep、攻击、输出、mangle、逃避、蛮力),可以启用并用于发现漏洞。
用户还可以通过创建新的自定义插件来扩展 W3af。
更多关于 W3af 的细节可以在 这里找到。
评估和发现
被动扫描
被动分析有助于通过了解存在哪些漏洞以及可以从您的网站嗅探哪些信息来保护您的网站。除了从安全角度来看,它还可以通过向目标网站发送大量请求来解决性能问题。
在本次评估中,被动分析是通过向流行且强大的网站发送少量请求来执行的,其唯一目的是检查工具的潜力以及它们可以收集哪些信息。
这些工具引发的漏洞都是次要的或信息丰富的。
仅举几例提出的:
未设置 X-Frame-Options 标头。X-Frame-Options 可用于响应的 HTTP 标头中,以指示是否应允许浏览器在frame中呈现页面。此漏洞可用于点击劫持攻击,在这种攻击中,用户被刺激点击与他从网站上看到的不同的按钮,并被迫执行意外操作。
没有 HttpOnly 标志的 Cookie 集。HttpOnly 是包含在 Set-Cookie HTTP 响应标头中的附加标志,可防止通过客户端脚本访问 cookie,并且在跨站点脚本 (XSS) 的情况下,浏览器会将它们隐藏给第三方。
浏览器中的密码自动完成。具有本地访问权限的攻击者可以从浏览器缓存中获取文本密码,因此应禁用密码自动完成,例如,通过Html 输入标签的选项自动完成。
缺少 X-Content-Type-Options 标头。HTTP 'X-Content-Type-Options' 响应标头可防止浏览器通过 MIME 嗅探远离声明的内容类型的响应,如果服务器未正确返回它,则网站可能面临 XSS 攻击的风险。
主动攻击
另一方面,主动攻击分析作为测试用例可能非常有用,可用于了解您的网站是否足够强大,至少可以防止 OWASP 突出显示的主要漏洞或工具支持的漏洞。
这种类型的攻击可能会永久危害网站,因此需要创建一个我们想要评估为目标的应用程序的单独克隆,并将其用于安全分析。
对于主动分析,给定网站的初始根 URL,这些工具在内部构建带有链接和节点的图,并向找到的每个节点发送请求。图的节点是用作目标攻击的 URL 列表。每个 URL 都会收到多次攻击以检查不同的漏洞。
最后,该工具会返回发现的漏洞列表、每个漏洞的详细信息、解释以及找到可能解决方案的链接。
最后的想法
市场上有许多强大的工具可以执行渗透测试,无论是开源的还是商业许可的。有些工具比其他工具更完整,但一般来说,它们涵盖的漏洞数量有限,并且可能以不同的方式处理它们。
使用多种工具可以提高评估的准确性和完整性。例如,在目前的评估中,ZAP 和 W3af 具有相似的能力,但是:ZAP 通常更完整且易于使用,而 W3af 更准确地发现 XSS 漏洞(反射和存储)。一起使用它们可以执行更强大的分析。
边栏推荐
- 2022-08-07 mysql/stonedb slow SQL-subquery-semi-join
- Leetcode78. Subset
- Personal Summary of OLTP and OLAP Issues
- Checkerboard Coloring Problem
- 数据库ADB多个字符,想要导入到ES存为nested的类型,这个支持吗?有对应的文档吗
- Building a High-Performance Platform on AWS Using Presto and Alluxio to Support Real-Time Gaming Services
- 说说Redis分布式锁的原理和实现蚂【蚁金服三面】
- ES6对象字面量的新功能
- The 5 most mainstream project time management systems in China
- Week 8 Generative Adversarial Networks
猜你喜欢

The 5 most mainstream project time management systems in China

nonebot插件:说话的艺术

2022-08-07 mysql/stonedb慢SQL-子查询-半连接

Awk syntax-03-awk expressions (if statements, while loops, for loops), execute shell commands in awk

Style of DataGrid in wpf

The research project of the Institute of Metal Research of the Chinese Academy of Sciences has been certified by Huawei, helping to develop a new paradigm in materials science!

《动机与人格》笔记(一)——人类似乎从来就没有长久地感到过心满意足

Risk control strategy must be learned | This method of mining rules with decision trees

The difference between classification, object detection, semantic segmentation, and instance segmentation

Database sub-database sub-table, when?How to divide?
随机推荐
TCP/IP基本实现
【多任务CTR】阿里ESMM:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conve
leetcode-同构字符串判断
121 distributed interview questions and answers
Spark entry learning-3-SparkSQL data abstraction
《动机与人格》笔记(一)——人类似乎从来就没有长久地感到过心满意足
Sequence table (below)
11-golang流程控制
L3-007 ladder map (test point 2 is stuck, you can see it)
阿里云的数据库怎么提高访问速度的本地的打开的方式是www.zgysffm.com怎样的?
C语言-函数
Single host docker builds redis-cluster
TSF Microservice Governance Combat Series (2) - Service Routing
ES6对象字面量的新功能
RecycleView配合Adapter调用notifyDataSetChanged闪屏?
postman---postman参数化
类似Bugfree的9大在线缺陷管理软件
Mail online cobalstrike fishing
Open3D ICP精配准(使用鲁棒性核函数)
C语言-分值和循环语句