可以覆盖HttpContext.Current.Request.Url.AbsoluteUri吗?

时间:2011-03-10 15:06:09

标签: vb.net security httpcontext exploit

我们有一个系统可以将我们网站上发生的事件记录在表格中。

它目前记录了所有事件,并记录了正在发生的事情,以及

中页面属性的引用

HttpContext.Current.Request.Url.AbsoluteUri

我刚刚从我们没有的服务器上发现了一个HttpContext.Current.Request.Url.AbsoluteUri“http://ya.ru/Default.aspx”

此表中还记录了线程ID(Threading.Thread.CurrentThread.ManagedThreadId)(记录为线程1)和sessionID(HttpContext.Current.Session.SessionID)。

这个未经请求的服务器如何在我们的网站上运行东西,这是否意味着他们可以访问我们的代码,或者你可以合法地覆盖HttpContext.Current.Request.Url.AbsoluteUri?如果不是可以删除HttpContext.Current?

除了运行一些数据库查询外,它们似乎也在运行一些用户控件!?

它似乎是一个俄语搜索引擎,但我不确定它们是如何以某种方式覆盖我们的页面参数。

以下是设置日志记录例程的PAGE参数的代码:

            Dim threadID As Integer
            If Not HttpContext.Current Is Nothing Then
                Page = HttpContext.Current.Request.Url.AbsoluteUri ' & "/" & HttpContext.Current.Request.RawUrl '& HttpContext.Current.Request.Path
                Integer.TryParse(Threading.Thread.CurrentThread.ManagedThreadId, threadID)
                If Not HttpContext.Current.Session Is Nothing Then
                    Try
                        Session = HttpContext.Current.Session.SessionID
                    Catch
                        Session = "empty"
                    End Try
                End If
            Else
                Page = MyPageName
            End If

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的服务器设置是否处理传递给它的任何主机头?转到命令行并运行此命令行,将123.123.123.123更改为服务器的IP,将/Page.aspx更改为您尝试访问的任何页面,但保留域名。

telnet 123.123.123.123 80
GET /Page.aspx HTTP/1.1
HOST: www.example.com

检查您的日志,如果您看到www.example.com,那么IIS会设置一个“默认网站”来处理指向它的任何请求。

相关问题