使用 Zap 和 W3af 进行 Web 应用程序漏洞评估
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 漏洞(反射和存储)。一起使用它们可以执行更强大的分析。
使用 Zap 和 W3af 进行 Web 应用程序漏洞评估相关推荐
- Acunetix Web 应用程序漏洞报告 2020
欢迎阅读 2020 年版的 Acunetix Web 应用程序漏洞报告. 每年,Acunetix都会分析从 Acunetix Online 收到的数据并创建漏洞测试报告.此报告代表 Web 应用程序和 ...
- 操作系统和应用程序漏洞评估
近年来,漏洞数量激增,全球组织对如何进行成功的漏洞评估感到困惑.若要解决此问题,需要首先确定要通过漏洞评估过程实现的目标,以便对其进行微调以满足组织的个人需求. 什么是漏洞评估 漏洞管理的目标是始终控 ...
- Web应用程序漏洞-POST任意文件下载
KaliIP地址:192.168.112.178 Windows2003:192.168.112.231 使用Kali Linux中的浏览器(firefox)访问Windows2003靶机: 点击下载 ...
- web应用程序安全工具和资源(漏洞银行 收集整理)
Web应用程序安全工具 组织 OWASP - http://www.owasp.org/ 开放式Web应用程序安全项目(OWASP)是一个501(c)3全球非营利性慈善组织,致力于提高软件的安全性 W ...
- 高级PHP应用程序漏洞审核技术
[目录] 1. 前言 2. 传统的代码审计技术 3. PHP版本与应用代码审计 4. 其他的因素与应用代码审计 5. 扩展我们的字典 5.1 变量本身的key 5.2 变量覆盖 5.2.1 遍历初始化 ...
- 《黑客秘笈——渗透测试实用指南》—第2章2.4节Web应用程序的扫描
本节书摘来自异步社区<黑客秘笈--渗透测试实用指南>一书中的第2章2.4节Web应用程序的扫描,作者[美]Peter Kim(彼得 基姆),更多章节内容可以访问云栖社区"异步社区 ...
- 如果有大型 Web 应用程序,可考虑执行预批编译
每当发生对目录的第一次请求时都会执行批编译.如果目录中的页面没有被分析并编译,此功能会成批分析并编译目录中的所有页面,以便更好地利用磁盘和内存.如果这需要很长时间,则将快速分析并编译单个页面,以便请求 ...
- oracle web API,在Web API程序中使用Swagger做接口文档
#### 创建Web API程序 在VS2019中创建一个ASP.NET Web应用程序,选择Web API来创建RESTful的HTTP服务项目,构选MVC和Web API核心引用. #### 安装 ...
- heroku_了解如何使用Heroku部署全栈Web应用程序
heroku Building a full stack web app is no mean feat. Learning to deploy one to production so that y ...
最新文章
- android系统应用程序,Android系统应用程序基本概念解读
- 如何在更大的div内使图像中心(垂直和水平)居中[重复]
- ICPC 2019-2020 North-Western Russia Regional Contest 补题部分
- JDK 13:什么是AggressiveOpts?
- 【渝粤教育】电大中专新媒体营销实务 (3)作业 题库
- 原生的html组件,如何创建HTML5与原生UI组件混合的移动应用程序
- mysql in 数字类型_关于sql where id in 转换成数据类型 int 时失败
- mysql keepalive_mysql主从之keepalive+MySQL高可用
- 开发ASP.NET下的MP3小偷程序
- LabelSmooth
- java nio 心跳包_请问Java中Socket的心跳包如何实现?
- MyBatis的分页插件PageHelper的使用
- 图书管理系统c语言报告调试分析,图书管理系统C语言程序设计实验分析报告.doc...
- C语言winform中
- Zotero | zotero与endnote题录与pdf文件的完整互转(2)
- 动作捕捉和面部捕捉解决
- 电能计量芯片HLW8110/HLW8112
- Git 安装win7
- Android R上展讯平台CameraAPP的Settings设置项管理
- Javad 方法,方法的重载,递归,类,类的构造方法