首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站安全-帮我少吸点

网站安全-帮我少吸点
EN

Stack Overflow用户
提问于 2010-09-24 01:10:41
回答 2查看 253关注 0票数 4

在网站安全方面,我有点落后。我知道一些基本知识--验证所有输入的数据,将数据转储到数据库中,使用salt作为密码,等等。但是我觉得我错过了很多东西,可能会咬我的屁股。对于我向.NET的缓慢迁移来说尤其如此。我只是不知道如何在.NET中复制我所知道的内容。下面是我一直在考虑的一些事情,我确信我需要帮助。

问题:保护会话

PHP:每当用户做重要事情时使用session_regenerate_id()。

.NET:不知道怎么在这里复制它。

将军:我还遗漏了什么?

问题: XSS

PHP:使用that实体()将潜在的危险代码转换为可以(大多数情况下)无害地呈现的代码。

.NET:我相信MVC,在视图中使用<%:%>标记可以做同样的事情。

总括:我还能做些什么来阻止JavaScript吗?如何完全拒绝HTML呢?如何确保文本区域的安全?

问题:远程执行

PHP:使用regEx查找和删除eval()函数调用。

.NET:毫不奇怪,不知道。

将军:再说一遍,我还需要再找些什么吗?

问题:目录遍历(可能与上面的内容有关)

我只是不确定我该有多担心这个。我也不知道该怎么阻止它。

建议、文章链接(有代码示例)等都是最受欢迎的,并将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-24 05:49:31

session_regenerate_id

我不认为有类似的。会话是短暂的,因此如果攻击者将及时进入会话,那么在您更改访问级别之后也会发生这种情况。

另外,会话并不意味着在asp.net中对用户进行身份验证。使用自定义身份验证时,使用窗体身份验证。

上面说过,你做的任何事都会受到一个处于攻击中间的人的支配。很多网站都是这样,所以cookie劫持是个问题。

当做任何特殊的事情时,要求用户再次输入他们的密码/这应该通过https完成。如果您需要执行一系列特殊操作,您可以这样做一次,但从那时起,请求/cookie需要通过https发送。在这种情况下,您可以发出一个修改过的表单身份验证cookie,该cookie允许访问特殊操作,并且需要打开https。

我相信MVC,使用<%:视图中的%>标记可以做同样的事情。

是的,这相当于<%= Html.HtmlEncode(someString) %> /,有一些额外的东西可以防止双重编码(应该研究一下)。

使用regEx查找和删除eval()函数调用。

在.net中,您没有如此广泛的访问权限。如果你没有显式地做任何不寻常的事情,你很可能会没事。

目录遍历(可能与上面的内容相关)

使用MapPath和类似的。它实际上阻止了站点文件夹之外的操作。这就是说,完全避免接收路径,因为您仍然可以意外地访问asp.net文件夹中的特殊文件。事实上,这是Microsoft处理程序在填充oracle漏洞中发生的事情的一部分--关于我的博客的更多信息。

可以将CSRF添加到列表中。

使用防伪造令牌:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

填充甲骨文攻击:

应用工作周围&然后补丁一出来就快。

了解我在这里提到的所有内容:asp.net填充oracle:它与获取web.config、伪造身份验证cookie和读取其他敏感数据的关系如何?。了解其中的所有内容是很重要的,特别是如果您使用了任何特性,即您不想成为将敏感数据放入视图状态的人:)

票数 1
EN

Stack Overflow用户

发布于 2010-09-24 01:17:27

可以将CSRF添加到列表中。通过在应用程序的表单中添加隐藏令牌(可能与cookie匹配),然后在处理提交的表单数据时检查它们是否匹配,它们往往会被阻止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3783554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档