是否担心XSS,CSRF,SQL注入,cookie窃取足以覆盖网络安全?

Mic*_*elD 7 security cookies xss sql-injection csrf

在不安全的无线环境中,不妥协的计算机上的Web应用程序容易受到XSS,CRSF,SQL注入攻击和cookie窃取的攻击.

为了防止这些安全问题,有以下补救措施

  • sql注入:一个好的数据映射器(比如linq-to-sql)没有sql注入的风险(我是否天真地相信这个?)
  • CSRF:每个表单帖子都使用<%:Html.AntiForgeryToken()%>进行验证(这是asp.net mvc环境中的一个令牌,存储在cookie中并在服务器上验证)
  • XSS:允许发布html的每个表单都被转换,只允许bb代码,其余的都是编码的.所有可能的保存操作都是通过post事件完成的,因此rogue img标签应该没有任何效果
  • cookie窃取:https

我现在无法进行基于网络的黑客攻击(正确实施时)?或者我是否在Web开发中遗漏了一些其他安全问题?(OS平台或其他软件中可能出现的漏洞除外)

Tro*_*unt 5

最简单的答案是“不,你并非刀枪不入——没有人是刀枪不入!”

这是一个好的开始,但您还可以做一些其他事情。您没有提到的主要问题是根据白名单验证不受信任的数据,这一点很重要,因为它涉及 SQLi 和 XSS 等多种漏洞利用。查看面向 .NET 开发人员的 OWASP Top 10 第 1 部分:注入,特别是有关“所有输入必须根据可接受值范围的白名单进行验证”的部分。

接下来,您应该对连接到 SQL Server 的帐户应用最小权限原则。请参阅上一个链接中该名称下的标题。

鉴于您正在使用 ASP.NET,请确保请求验证保持打开状态,如果您绝对需要禁用它,只需在页面级别执行即可。有关更多信息,请参阅请求验证、DotNetNuke 和设计乌托邦

对于输出编码,最主要的是确保您针对正确的上下文进行编码。HTML 编码!= JavaScript 编码!= CSS 编码。有关此内容的更多信息,请参阅面向 .NET 开发人员的 OWASP Top 10 第 2 部分:跨站点脚本 (XSS)

对于 cookie,将其设置为仅 HTTP,并且如果可能,仅允许安全地提供它们(如果您愿意仅通过 HTTPS 运行)。尝试将您的 web.config 通过web.config 安全分析器,这将帮助您指明正确的方向。

另一种 CSRF 防御——尽管会影响可用性——是验证码。显然你想谨慎使用它,但如果你有任何想要保护的真正关键的功能,这会很快阻止它。更多内容请参见面向 .NET 开发人员的 OWASP Top 10 第 5 部分:跨站点请求伪造 (CSRF)

除此之外,听起来您还了解许多重要原则。它不会让你无懈可击,但这是一个好的开始。