Mic*_*elD 7 security cookies xss sql-injection csrf
在不安全的无线环境中,不妥协的计算机上的Web应用程序容易受到XSS,CRSF,SQL注入攻击和cookie窃取的攻击.
为了防止这些安全问题,有以下补救措施
我现在无法进行基于网络的黑客攻击(正确实施时)?或者我是否在Web开发中遗漏了一些其他安全问题?(OS平台或其他软件中可能出现的漏洞除外)
最简单的答案是“不,你并非刀枪不入——没有人是刀枪不入!”
这是一个好的开始,但您还可以做一些其他事情。您没有提到的主要问题是根据白名单验证不受信任的数据,这一点很重要,因为它涉及 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)。
除此之外,听起来您还了解许多重要原则。它不会让你无懈可击,但这是一个好的开始。