asp.net-mvc - ASP.NET MVC 中的漏洞测试

标签 asp.net-mvc unit-testing asp.net-web-api

我使用 NMock 单元测试参与了 ASP.NET MVC 和 ASP.NET WebAPI 的基于测试的开发,但是我编写的大多数单元测试都围绕测试功能展开。

从单元测试的角度来看:

是否有任何框架来测试接入点的漏洞 Controller 上的操作
(或任何其他组件)

从自动化/手动 QA 测试的角度来看

有没有(首选开源)工具 用于测试基于 ASP.NET MVC 的网站的漏洞,手动或自动,可用于质量保证?

最佳答案

我会以与测试在任何其他平台上构建的任何其他 Web 应用程序相同的方式来测试您的 ASP.NET MVC 应用程序。

本质上,您的攻击媒介是托管应用程序的网页和服务器。从攻击者的角度考虑它。他们无法查看 Controller 和模型中的代码,但他们可以执行以下操作。

  • 扫描您的服务器以查找可能包含漏洞的操作系统版本、Web 服务器版本、数据库版本。
  • 扫描您的网页以查找易受攻击的 JavaScript、输入表单、查询字符串参数等。
  • 尝试通过任何已发现的漏洞利用您的 Web 应用程序

  • 您可以使用任意数量的应用程序来测试您的站点的 xss、csrf、sql 注入(inject)等。OWASP 是一个很好的起点
    https://www.owasp.org/index.php/Main_Page
    熟悉前 10 名
    https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

    另请查看有关开源 Web 漏洞扫描程序的 SO 帖子
    https://stackoverflow.com/questions/2995143/open-source-web-site-vulnerability-scanners

    请记住,两个主要的攻击媒介是用户输入和服务器配置。

    我还建议看看 NMap 和 MetaSploit。 Nmap 可用于查找服务器上的开放端口,MetaSploit 是用于利用漏洞的框架。

    关于asp.net-mvc - ASP.NET MVC 中的漏洞测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16513082/

    相关文章:

    javascript - 文件读取器 API 'load' 事件

    jquery - 可以更改模型的 IEnumerable<string> 的 ASP.NET MVC 模型绑定(bind)?

    sql - ASP MVC Lambda 表达式或查询扩展?

    unit-testing - 抛出异常后的单元测试行为?

    javascript - phantomjs 和 run-jasmine.js 超时

    asp.net - Request.Form 抛出异常

    asp.net - 数据注解,为什么boolean prop.IsRequired 总是等于true

    asp.net-mvc - 你更喜欢用哪种方式在 MVC 中创建表单?

    unit-testing - 为什么 Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Equals() 存在?

    asp.net - 仅返回 Web API 结果中选定的字段