下面是一些常见的保护MVC应用程序的实践:
如果有任何我错过或误报的地方,请随时捐款。
在pen测试您自己的软件时,您使用或考虑了哪些其他技术/最佳实践。在接受现场申请之前,你会做什么来“踢轮胎”。
您使用什么笔试服务或软件(如果有的话)?
发布于 2010-01-27 06:40:34
所有使用模型绑定的方法都应该使用可绑定属性上的白名单或黑名单进行保护。
string[] allowedProperties = new[]{ "Title", "Description"};
UpdateModel(myObject, allowedProperties);或
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Include="Title,Description")] MyObject object )
{
}当然,这是为了防止精心编制的请求试图以非预期的方式更新/操作对象。
发布于 2010-01-27 22:52:27
你的清单很好,虽然有点模糊。例如,md4是单向散列,但它非常不安全,因为我可以在不到一天的时间内在桌面上生成冲突。具有较大盐值的sha256是一种更安全的方法。(我知道这是描述不完整,不要燃烧)
从来没有一个捕获所有的安全检查名单,将工作的全面。特定的应用程序可能存在特定的漏洞。有时,这些缺陷可能是逻辑错误,实际上没有分类。
OWASP前十名 web应用程序漏洞是您应该研究的优秀资源。最值得注意的是,您在列表中缺少了XSRF,这可能是一次毁灭性的攻击。有大量的基于“接收器”的攻击,你还没有列出。例如,如果攻击者可以通过他自己选择的路径来打开呢?“红”研究检查了许多针对PHP的攻击。
发布于 2010-01-27 23:02:15
您的所有建议都适用于任何web应用程序,而不仅仅是MVC应用程序。
特定于MVC的建议应该是“瘦控制器,胖模型”。
https://stackoverflow.com/questions/2144953
复制相似问题