当前位置: 首页 > 面试题库 >

渗透测试工具

龚鸿雪
2023-03-14
问题内容

我们有成百上千个使用asp,.net和java开发的网站,并且我们为外部机构付出了很多钱,以对我们的网站进行渗透测试以检查安全漏洞。是否有任何(好的)软件(收费或免费)可以做到这一点?

或..有什么技术文章可以帮助我开发此工具?


问题答案:

使用针对Web应用程序的自动测试工具,可以有两个不同的方向。

首先,有 商用Web扫描仪 ,其中HP WebInspect和Rational
AppScan是最受欢迎的两种。这些是“多合一”,“一劳永逸”工具,您可以在内部Windows桌面上下载并安装这些工具,然后提供URL来对您的网站进行爬网,扫描众所周知的漏洞(例如,
(点击Bugtraq),并探究跨站点脚本和SQL注入漏洞。

其次, 有源代码扫描工具
,其中Coverity和Fortify可能是最著名的两个。这些工具是您安装在开发人员的桌面上的工具,用于处理Java或C#源代码,并寻找众所周知的不安全代码模式,例如不良的输入验证。

最后,还有 渗透测试工具 。到目前为止,安全专家中最受欢迎的Web应用程序渗透测试工具是Burp
Suite,您可以在http://www.portswigger.net/proxy上找到它。其他包括Spike
Proxy和OWASP
WebScarab。同样,您将其安装在内部Windows桌面上。它将作为HTTP代理运行,您将浏览器指向它。在记录您的操作的同时,您将像普通用户一样使用应用程序。然后,您可以返回到每个页面或HTTP操作,并针对安全问题进行探测。

在复杂的环境中,尤其是在考虑自己动手做DIY时, 我强烈建议您使用渗透测试工具 。原因如下:

商用网络扫描仪提供了很多“广度”,同时还提供了出色的报告功能。然而:

  • 他们倾向于错过事情,因为每个应用程序都是不同的。

  • 它们很昂贵(WebInspect开始于千分之十)。

  • 您需要为不需要的东西付费(例如90年代已知的不良CGI数据库)。

  • 它们很难自定义。

  • 它们会产生嘈杂的结果。

源代码扫描程序比Web扫描程序更彻底。然而:

  • 它们比网络扫描仪还要贵。

  • 它们需要源代码才能运行。

  • 为了有效,它们通常需要您注释源代码(例如,选择输入路径)。

  • 他们倾向于产生假阳性。

商业扫描仪和源代码扫描仪都具有成为架子器的坏习惯。更糟糕的是,即使它们有效,其成本也可以与咨询公司审核1或2个完整应用程序相提并论;如果您信任您的顾问,则可以保证他们从工具中获得更好的结果。

渗透测试工具也有缺点:

  • 它们比一劳永逸的商用扫描仪难用得多。

  • 他们承担了一些有关Web应用程序漏洞的专业知识—您必须知道要查找的内容。

  • 他们很少或没有正式报告。

另一方面:

  • 它们便宜很多,便宜得多-Burp Suite仅售99EU,并提供免费版本。

  • 它们很容易自定义并添加到测试工作流程中。

  • 它们更好地帮助您从内部“了解”您的应用程序。

您可以使用针对基本Web应用程序的笔测试工具进行以下操作:

  1. 通过代理登录到应用程序

  2. 创建应用程序主要功能区域的“命中列表”,并分别执行一次。

  3. 在笔测应用程序中使用“蜘蛛”工具查找应用程序中的所有页面,动作和处理程序。

  4. 对于蜘蛛发现的每个动态页面和每个HTML表单,请使用“模糊器”工具(Burp称其为“入侵者”)来使用无效输入来执行每个参数。大多数模糊测试工具都附带基本的测试字符串,其中包括:

    • SQL元字符

    • HTML / Java转义符和元字符

    • 这些的国际化变体规避输入过滤器

    • 众所周知的默认表单字段名称和值

    • 众所周知的目录名称,文件名和处理程序动词

  5. 花几个小时来过滤产生的错误(一种形式的典型模糊测试可能会生成1000个错误),以寻找可疑的响应。

这是一种劳动密集型的“裸机”方法。但是,当您的公司拥有实际的应用程序时,裸机方法便会奏效,因为您可以使用它来构建回归测试套件,该套件将在每个应用程序的每个开发周期中像发条一样运行。这是一个胜利,原因有很多:

  • 每个应用程序的安全测试将花费可预测的时间和资源,这使您可以预算和分类。

  • 因为您的测试将针对您的应用程序进行调整,所以您的团队将获得最大程度的准确和彻底的结果。

  • 它的成本将低于商用扫描仪,也将低于顾问。

当然,如果您走这条路,基本上就是在将自己变成公司的安全顾问。我不认为这是一件坏事。如果您不想要这些专业知识,WebInspect或Fortify不会为您提供任何帮助。



 类似资料:
  • 以下部分介绍了如何在Web应用程序测试中使用Burp Suite的基本知识。有关Web应用程序测试的一般技术和方法的更多信息,请参阅Web应用程序黑客手册,该文档由Burp Suite的创建者共同撰写。 你也可以在Burp Suite 支持中心查看 使用 Burp Suite 使用Burp的基础知识 如果需要关于安装、启动、开始一个工程、配置显示选项等信息,请参阅 开始入门. 如果需要使用Burp

  • Kali Linux工具策略 我们知道很多的工具或脚本都能做同样的工作.有的比较好用,有的是喜好问题.为此,保持渗透测试软件源的更新和可用是一项极具挑战性的任务.Kali开发组使用如下检验标准来判断一个工具是否被包含在我们的发行版. 在渗透测试环境下该工具是否 可用/实用? 该工具的功能是否与别的工具重复? 该工具是否允许自由地重新分发? 该工具的依赖关系如何?能否在”独立”环境下运行? 根据这些

  • 网络渗透测试是将在本节中介绍的第一个渗透测试。大多数系统和计算机都连接到网络。如果设备连接到互联网,这意味着设备已连接到网络,因为互联网是一个非常大的网络。因此,我们需要知道设备如何在网络中相互交互,以及网络如何工作。 网络渗透测试分为3个小部分: 预连接攻击:在本节中,我们将了解在连接到网络之前可以执行的所有攻击。 获得攻击:在本节中,我们将了解如何破解Wi-Fi密钥并获取Wi-Fi网络,无论使

  • 我正在使用codeigniter 3.1。9 我已启用CSRF保护,并将设置为true。它工作正常,每次Post请求时令牌都会重新生成,验证也可以工作。除此之外,我还将cookie设置为仅限同一站点的严格连接。 然后我向安全团队提交渗透测试评估,他们拒绝了我的工作,因为csrf攻击漏洞。 他们的论点是,他们更改了cookie令牌并发布参数,然后执行攻击。 他们的回答:CSRF令牌未安全实现。攻击者

  • https://github.com/h4m5t/Sec-Interview 1、include、include_once、require、 require_once区别  参考答案: 1、require()和require_once()函数: (1)require()函数引入文件不存在时,将立即退出程序,不再向下执行。 (2)require()函数当文件已经存在时,则还是会重复的引入;requi

  • Android 是当今最流行的智能手机操作系统之一。随着人气的增加,它存在很多安全风险,这些风险不可避免地被引入到应用程序中,使得用户本身受到威胁。