草庐IT

SECURITY

全部标签

c# - 任何特定于 C# 的编码安全问题?

在C++世界中,有多种方法可以制造可利用的漏洞:缓冲区溢出、不安全的sting处理、各种算术技巧、printf问题、不以'\0'结尾的字符串等等。尽管这些问题大部分都在java中解决了,但还是有一些事情要谈。但是是否有任何典型的特定于C#的编码漏洞的列表?(与.NET平台本身无关) 最佳答案 以下是您可能会遇到的一些问题:如果您有任何类型的语言解释器(HTML、JavaScript和SQL是三大语言),那么您仍然可能存在注入(inject)或XSS漏洞。P/Invoke可能会导致问题,尤其是在您进行任何自定义编码时。即使您通过P/I

c# - .NET 包含的哪些哈希算法适用于密码哈希?

passwordleakofLinkedIn证明了安全地散列密码的重要性。然而,即使使用“普通”哈希算法(例如MD5和SHA系列)对密码进行哈希处理也不安全,因为它们针对速度进行了优化,允许黑客每秒计算23亿个哈希值(蛮力)。有些散列算法使用起来更安全,因为它们的计算量更大,例如PBKDF2,Bcrypt、PBMAC和scrypt.然而,这些哈希算法似乎并未包含在.NET框架中。那么,.NET框架中包含哪些性能密集型哈希算法?答案:PBKDF2包含在框架中,并且thissiteshowshowtouseitproperly. 最佳答案

c# - NetSqlAzMan vs AzMan vs (?????)

我一直在尝试“从字里行间”了解NetSqlAzMan项目最初(和/或当前)的动机。这是为了什么而写的?Windows授权管理器(AzMan)的适配器。NetSqlAzMan中的方法只是将调用传递给(Windows授权管理器(AzMan)),但可能使用更好/更清洁的方法?(Windows授权管理器(AzMan))的替代品。其中(大部分或全部)(Windows授权管理器(AzMan))中可用的功能在NetSqlAzMan中重新创建,但代码是独立开发的。(也许提供DotNet4.0支持???)(也许移除任何COM依赖)提供比(WindowsAuthorizationManager(AzMan

c# - 阿兹曼过时了吗?阿兹曼的新替代品是什么?

是否有Azman的替代品,这是一种应用安全性的新方法。以前我们使用EntLib3并使用Azman来确保我们的安全和授权。然而,我读到的一篇关于EntLib6.0愿景的文章是弃用安全性(下面的链接),但没有指定替代方案。有人可以建议现在处理安全和授权的最佳方法是什么吗?Article 最佳答案 编辑:Azman在Windows2012R2上似乎已被弃用,请参阅第一个链接AzMan本身并未弃用,而是available适用于现代版本的Windows,包括WindowsServer2012和Windows8。不推荐使用的是EntLib的安全

c# - 将来自现有 asp.net-mvc 站点的一些调用暴露给 Intranet 中的其他 REST 客户端?

我有一个现有的asp.net-mvc网站,现在我需要公开我对外部应用程序的一些调用,这些应用程序现在只在我的站点中使用。这一切都发生在我公司的内部网上。我已阅读thispage这也解释了WebAPI与Controller操作asthisSOFquestion这似乎有类似的问题,但答案似乎有点过时了。因此,我试图根据最新的可用功能来确定什么是满足我要求的最简单的解决方案。在我的例子中,因为我已经在我当前的网站中使用了相同的Controller操作,所以WEBAPI并没有真正意义,但是如果我在google上搜索有关asp.net-mvc身份验证或安全性的任何内容,我只会看到有关WebAPI

c# - 从 .NET 调用带有 WS Security 的 Web 服务

我需要使用来自ASP.NET的受WS-Security保护的Web服务。我正在使用SoapUI测试服务,作为信封请求:?????我得到的回应是:env:Serverorg.jboss.ws.core.CommonSOAPFaultException:Thisservicerequires<wsse:Security>,whichismissing.所以我联系了服务提供商,他们告诉我必须使用WS-Security才能调用该服务。因此,发送到服务器的SOAP消息必须使用我的证书进行数字签名。问题是我不知道该怎么做。到目前为止,我添加了一个服务引用,并在代码中传递了上述证书:varsr

c# - 自动更新 : Is this secure?

DotNetAutoUpdate我觉得.net缺少一个简单的安全自动更新库,所以我实现了一些东西并将其发布here.在任何人考虑使用该库之前,我都热衷于更新过程以获得同行评审。步骤如下:客户端软件填充有公钥和URI以进行轮询。客户端轮询list文件的URI。下载list并使用签名(在单独的“.signature”中)检查list是否有效。从list中解析出待定更新列表(以显示给用户)。安装程序文件已下载并再次使用相应的“.signature”文件进行验证。(下载的文件将受ACL保护)安装程序已运行。减轻威胁:list签名应防止任何恶意下载(“carpetbombing”)安装程序签名应

c# - 如何生成一次性密码 (OTP/HOTP)?

我们已决定通过为我们的客户发布iPhone、Android和Blackberry应用程序来开始进行多因素身份验证。思考GoogleAuthenticator的一次性密码系统。我可以了解如何通过使用基于帐户key加上设备序列号(或其他唯一标识符)的SALT进行散列来生成唯一的字符串。但是有没有人知道如何像google那样生成唯一的短号码?和/或是否有人有关于实现此类目标的文章的良好链接?非常感谢 最佳答案 最后我发现这在RFC4226中有很好的记录。关于整数转换,这可以使用按位运算来完成shownonpage7,基本上它与下面的答案中

c# - 如何验证证书是由特定证书颁发机构创建的?

我有一个Windows证书颁发机构,我正在使用它通过.net/c#颁发客户端身份验证证书。通过COM调用证书颁发机构的API,我已经能够成功地让它以编程方式颁发证书。我在设置客户端时颁发新证书。在运行时,这些客户端将证书附加到对我的服务器的请求中。如何以编程方式验证X509Certificate2是否由我的证书颁发机构的根证书签署(并拒绝任何其他来源签署的证书)? 最佳答案 我已经做了很多。这里有一些您可以使用的简单代码。if(!isChainValid)block中的部分是生成一条漂亮的错误消息。如果你不想,你不必使用它,但如果无

c# - ASP.NET MVC - GET 请求上的 CSRF

我们有一个ASP.NETMVC应用程序。通过使用@Html.AntiForgeryToken和ValidateAntiForgeryToken属性,所有POST请求(表单提交)都已免受CSRF攻击。Controller上的一种操作方法是GET,它向用户返返回告(包含来自数据库的数据的pdf文件)。签名是:[AcceptVerbs(HttpVerbs.Get)]publicActionResultGetReport(){//getdatafromdbreturnGetReport();}以下是我针对此操作测试CSRF所遵循的步骤:用户登录应用登录后,用户打开以下HTML文件并单击“提交”