• 0
  • 0
分享
  • 15个针对web项目的开源安全测试工具——软件测试圈
  • 恬恬圈 2023-04-19 15:51:52 字数 3936 阅读 3063 收藏 0

  1-Wapiti

  Wapiti作为一个高效的web项目安全测试工具,它支持用户对web应用程序进行评估。运用“黑盒测试”技术,它可以在Web应用中检查出可能存在的缺陷漏洞。

  在测试过程中,Wapiti会对网页进行扫描,并注入测试数据来查找安全隐患。Wapiti支持GET和POST方法的HTTP攻击,可确认多种类型的安全漏洞,比如:

  ·文件泄露(File disclosure)

  · 数据库注入(Database Injection)

  · 跨站脚本注入(XSS Injection)

  · 命令执行探测(Command Execution Detection)

  · CRLF注入(CRLF Injection)

  · XML外部实体注入(XXE Injection-Xml External Entity Injection)

  · 潜在危险文件(Potentially dangerous files)

  · 可被轻易绕过的 .htaccess配置

  · 备用文件造成的泄漏

  Wapiti作为一个命令行应用,对初学者来说使用有难度,但对专业人士却很有帮助。操作该软件的用户需要对命令的使用完全了解。

  下载地址:https://sourceforge.net/projects/wapiti/

  2-Zed Attack Proxy

  Zed Attack Proxy,被人们称为ZAP,是一个由OWASP开发开源软件。ZAP支持在WINdows,UNIX/LINUX和Mac OS平台上工作,它可帮助用户查找Web应用中的多种安全漏洞,即使在开发或测试过程中它仍可以使用。这款测试工具便于使用,即使是渗透测试的初学者都可以掌握。

  特性:

  · 主动扫描

  · 认证支持

  · AJAX spider扫描

  · 动态SSL证书

  · 强制浏览

  · 截取代理

  · websocket支持

  · 基于REST的API及其他

  下载地址:https://www.zaproxy.org/

  3-Vega

  Vega是一个由Java写成的开源web应用测试工具,它拥有用户交互界面,可以在Windows、linux、Mac OS上使用,它可以帮助用户查找到:

  · 寻找SQL注入

  · 验证SQL注入

  · 文件泄露

  · 跨站脚本注入(XSS)

  · 提高TLS服务器安全性

  该工具也允许用户设置偏好,比如每秒最多/最少请求数、子路径数和节点数。一旦提供了合法证书,用户就可以把Vega当做主动扫描器使用,用来拦截并扫描代理。

  下载地址:https://subgraph.com/vega/download/index.en.html

  4-W3af

  W3af是一个流行的web应用安全测试框架。它由python写成,可以提供一个高效且针对web应用的渗透测试平台。

  该工具可检测出超过200种web应用安全问题,包括SQL注入和跨站脚本注入。他改回在web应用中检测下列漏洞:

  · SQL盲注(Blind SQL Injection)

  · 缓存溢出

  · 多重跨域资源共享的错误配置(Multiple CORS misconfigurations)

  · 不安全的DAV配置

  · CSRF漏洞及其他

  W3af拥有用户交互界面和控制台界面,方便用户理解。他还支持用户使用认证模块验证网站。

  下载地址:https://sourceforge.net/projects/w3af/

  5-Skipfish

  Skipfish是一个递归爬取网站、查找每个页面的潜在漏洞并最终出具审查报告web应用安全测试工具。它由C语言编写,旨在充分使用HTTP并留下最少的CPU痕迹。

  这款软件自称可以每秒请求2千次,并且不显露CPU痕迹。它还宣称,为了提供高质量的正面效果,它会在爬取测试web应用时使用探试法。这款工具可在Linux, FreeBSD, Mac OS X, Windows.上使用。

  下载地址:https://code.google.com/archive/p/skipfish/downloads?page=1

  6-Ratproxy

  作为一个开源web项目安全测试工具,Ratproxy可被用来查找web应用中的任何漏洞,从而保证应用免受黑客攻击。该半自动型测试软件可在Linux, FreeBSD, MacOS X, Windows (Cygwin) 系统上运行。

  Ratproxy旨在解决用户在使用其他代理软件过程中常会碰到的安全问题。它可以轻易分辨CSS样式和JavaScript 代码。

  下载地址:https://code.google.com/archive/p/ratproxy/downloads

  7-SQLMap

  SQLMap是一个流行的开源web应用安全测试工具,它可以自动地在目标网站中执行检测并利用网站数据库中的SQL注入漏洞。它包含多种特性,且拥有一个强劲引擎,可以毫不费力地执行渗透并对web应用的SQL注入漏洞进行查找。

  SQLMap支持很多数据库服务,包括MySQL, Oracle, PostgreSQL, Microsoft SQL 服务器等等。并且,该测试工具支持六种SQL注入的方法。

  下载地址:https://github.com/sqlmapproject/sqlmap

  8-Wfuzz

  Wfuzz使用python开发,它被用来暴力破解web应用,拥有以下特性:

  · 多重注入点

  · 输出结果到HTML

  · cookies模糊测试

  · 多线程

  · 代理支持

  · SOCK支持

  · 认证支持

  · 全参数暴力破解(POST和GET方法)

  · 基线请求(用来过滤结果)

  · 暴力破解HTTP方法

  · 多重代理支持

  · HEAD扫描

  · POST,HEAD和认证数据暴力破解

  使用WFuzz时,用户需要在命令行界面工作,它没有可用的用户交互界面。

  下载地址:https://github.com/xmendez/wfuzz/releases/tag/v2.4.6

  9-Grendel-Scan

  该安全测试工具旨在查找web应用中的安全漏洞,支持 Windows, Linux, and Macintosh平台,使用java开发。

  它自带一个自动测试模块,可自动检测web应用中的安全漏洞,该软件同样包含很多特性,尤其针对人工渗透测试。

  下载地址:https://github.com/IFGHou/Grendel-Scan

  10-Arachni

  该开源安全测试工具旨在帮助渗透测试人员和管理员对web应用的安全程度进行评估。它被用来查找web应用的安全漏洞并使应用免受黑客入侵。Arachni可以检测出:

  · SQL注入

  · 跨站脚本注入

  · 本地文件包含

  · 远程文件包含

  · 未验证的重定向及其他

  Arachni可支持所有主流操作系统,比如MS Windows, Mac OS X, and Linux.

  下载地址:https://www.arachni-scanner.com/download/

  11-Grabber

  该软件针对小型web应用进行扫描,比如论坛或个人网站。它可以检测出下列漏洞:

  · 跨站脚本注入

  · SQL注入

  · 文件包含

  · 备用文件验证

  · 简单AJAX验证

  · 针对PHP应用的PHP-SAT混合分析测试

  · 为数据测试生成文件

  Grabber是一种小型测试工具,在测试大型应用时会花费更多的时间。而且,因为它设计的目的是满足个人使用,所以该扫描器没有用户交互界面和PDF报告生成功能。Grabber是用python开发的,使用者可根据需求查找源代码并修改。

  下载地址:http://rgaucher.info/beta/grabber/

  12-Acunetix

  目前流行的收费型渗透测试软件,由于现在的绿色版功能有待提高,这里不提供下载。

  13-Netsparker

  可检查出致命漏洞,比如SQL注入、跨站脚本注入等。

  特性:

  · 可扫描任何web相关应用

  · 覆盖超过1000+漏洞

  · 用户可查看代码相关错误

  · 生成合规性和web应用

  载地址(绿色版):https://www.ddosi.com/b170/

  14-Metasploit

  开源测试平台,可为安全测试工程师提供安全评估帮助,甚至更多。

  特性:

  · 该软件框架比竞品更先进

  · 拥有1500+的漏洞

  · 为离散任务创建元模块,比如网络分割测试

  · 可用于多种进程的自动化

  · 许多渗透方案模型特性

  下载地址:https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers

  15-Burp Suite

  虽然收费但是特性优秀:

  · 尖端的web应用爬虫

  · 覆盖100+漏洞

  · 可用来进行玻璃盒测试(IAST)

  · 在客户端javascript使用静态和动态技术对javascript进行分析,检测漏洞

  · 使用OOB技术增强常规扫描方法

  下载地址:https://www.waitalone.cn/tools/burpsuite.html



作者:白小宸    

来源:http://www.51testing.com/html/64/n-7792864.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:什么是黑盒测试,测试方法有哪些 ?阿常回答:一、黑盒测试黑盒测试不关心软件内部结构和具体实现。我们可以把软件当成一个黑盒子,通过对黑盒子进行数据输入和相关操作,观察程序的运行结果,对比实际结果和预期结果是否一致。黑盒测试包括功能测试、非功能测试。功能测试按不同阶段可划分为:单元测试、集成测试、系统测试、验收测试、回归测试。非功能测试包括:性能测试、压力测试、负载测试、安全测试、兼容性测试、易用性测试。二、测试方法黑盒测试方法包括:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交实验设计法、功能图法、场景法等。(具体细节不展开了,网上一搜一大把)阿常碎碎念...
            0 1 968
            分享
          • 如何做前端单元测试对于现在的前端工程,一个标准完整的项目,通常情况单元测试是非常必要的。但很多时候我们只是完成了项目而忽略了项目测试。我认为其中一个很大的原因是很多人对单元测试认知不够,因此我写了这边文章,一方面期望通过这篇文章让你对单元测试有一个初步认识。另一个方面希望通过代码示例,让你掌握写单元测试实践能力。前端为什么需要单元测试?必要性:JavaScript 缺少类型检查,编译期间无法定位到错误,单元测试可以帮助你测试多种异常情况。正确性:测试可以验证代码的正确性,在上线前做到心里有底。自动化:通过 console 虽然可以打印出内部信息,但是这是一次性的事...
            8 9 1218
            分享
          •   前言  无论什么自动化,都会需要参数化。unittest可以通过ddt来完成参数化,那么pytest通过什么呢?  parametrize  pytest中自带的装饰器parametrize可以来实现测试用例的参数化功能。  使用方法  通过下方装饰器,使用在需要传入参数的case中。用例传参中的值和装饰器传入的参数值一致。@pytest.mark.parametrize('参数化名称',参数化值)  安静举一个登录传参的例子。import pytest # 登录参数 data = [('anjing', &...
            13 15 2649
            分享
          •   前言  在学习计算机操作的系统的时候,分页存储管理与分段存储管理十分容易令人混淆,对其含义进行详细解读,能够加强我们对存储管理的整体理解。  存储管理  存储管理的对象是主存储器(主存、内存)。存储器能够存放各种信息,是计算机系统中的关键资源。其主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。  存储管理的主要目的是解决多个用户使用主存的问题。分页存储管理、分段存储管理是两种重要的管理方案。  分页存储管理  将一个进程的地址空间划分成若干个大小相等的区域,称为页。  相应地,将主存空间划分成与页相同大小的若干个物理块,称为块或页框。为进程分配主存时,可将...
            0 0 665
            分享
          • 1)测试计划与测试方案的区别:计划:属于组织管理层面的文档,从组织管理的角度对测试活动进行规划;方案:属于技术层面的文档,从技术的角度对测试活动进行规划。测试计划:对测试全过程的组织、资源、原则等进行规定和约束,并制定测试全过程各个阶段的任务分配以及时间进度安排,并提出对各项任务的评估,风险分析和管理需求。测试方案:描述需要测试的特性,测试的方法,测试环境的规划,测试工具的设计和选择,测试用例的设计方法,测试代码的设计方案。测试方案需要在测试计划的指导下进行,测试计划提出“做什么”,而测试方案明确“如何做”软件测试用例包括软件测试用例设计和写作。软件测试用例设计:是从设计层面考虑,比如从功能性...
            12 12 1878
            分享
      • 51testing软件测试圈微信