首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消除ASP.NET上的OS注入攻击漏洞

消除ASP.NET上的OS注入攻击漏洞
EN

Stack Overflow用户
提问于 2017-01-31 23:12:03
回答 2查看 2K关注 0票数 1

我在一个应用程序上工作,在代码发布到生产之前,Burp工具会对其进行扫描。最近的扫描导致了操作系统注入攻击漏洞。

在做研究时,我看到的唯一的OS注入攻击的例子是unix,java,php应用程序。

这些攻击可能针对的是ASP.NET应用程序吗?如果是这样,您如何减轻这种风险?ASP.NET (和/或MVC)本身能防止OS注入攻击吗?

EN

回答 2

Stack Overflow用户

发布于 2017-01-31 23:15:51

该框架本身不容易受到OS注入攻击。使用此框架编写的代码可能是易受攻击的。例如,如果您有一个执行从外部作为参数传递的命令的控制器操作,则您的应用程序立即变得易受攻击。考虑这个例子:

代码语言:javascript
复制
public ActionResult Index(string fileName, string arguments)
{
    Process.Start(fileName, arguments).WaitForExit();
    return View();
}

因此,基本上,无论您使用哪种框架或编程语言来开发应用程序,都不应该信任用户输入,并在接受它之前执行适当的清理。

票数 2
EN

Stack Overflow用户

发布于 2017-01-31 23:17:12

OS注入的defined by the OWASP Foundation方式如下:

操作系统命令从应用程序调用外部应用程序。

..。

我们应该寻找的是应用程序和操作系统之间的关系。该应用程序利用底层操作系统的功能。

在使用运行时对象的java中,java.lang.Runtime可以做到这一点。在.NET中,诸如System.Diagnostics.Process.Start之类的调用用于调用底层OS函数。在PHP中,我们可以查找诸如exec()或passthru()这样的调用。

当然,你的研究已经证明了这一点。

这些攻击有可能针对ASP.NET/MVC应用程序吗?

所以,是的,您使用的任何地方,或者您使用的任何库都使用System.Diagnostics.Process.Start(),无论是直接还是间接地提供用户输入,您都处于危险之中。

如果是这样的话,您如何减轻这种风险?

像往常一样,在必要的地方适当地转义和清理用户输入。这不仅包括查询字符串或路由参数,还包括cookie、HTTP标头等。

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

https://stackoverflow.com/questions/41960994

复制
相关文章

相似问题

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