如何处理恶意Web请求

时间:2010-02-05 00:09:44

标签: .net

在我们的.NET应用程序中,我们收到了像_vti_bin / owssvr.dll这样的文件的请求(这可能是黑客尝试)。我想通过在Application_BeginRequest中添加以下代码来处理它们:

    if (HttpContext.Current.Request.Url.ToString().Contains("_vti_bin/owssvr.dll"))
    {
        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.End();
    }

但我认为这是处理问题的一种不可扩展,无效的方法。有更好的想法吗?

5 个答案:

答案 0 :(得分:2)

这不是URLScan的用途吗?

URLScan是Microsoft的IIS扩展,可以在让IIS处理恶意请求之前自动拒绝恶意请求。它拒绝vti_bin请求和许多其他攻击。

答案 1 :(得分:2)

我过去看过的两种方法是将以下代码作为default.aspx(确保将default.aspx设置为IIS中的默认文档类型):

<%@ Page language="c#" %>

<Head>
  <script language="CS" runat="server">
    void Page_Load(object sender, System.EventArgs e) 
    {
    Response.Clear();
        Response.StatusCode = 404;
        Response.End();
    } 
  </script>
</Head>

我见过的另一个解决方案是创建一个具有类似行为的自定义HttpHandler。然后在web.config中定义要阻塞的路径。

答案 2 :(得分:1)

为什么不告诉网络服务器_vti_bin不能通过网络访问?

答案 3 :(得分:1)

Nathan是对的urlscan是要走的路 - 请注意,除非你将* .dll添加到.NET处理的扩展名,否则.NET不会看到这些请求。否则,IIs将处理这些请求。

答案 4 :(得分:0)

确保您的网络服务器没有该安全错误。如果您的服务器不受该漏洞攻击,那么阻止漏洞利用尝试就毫无意义。