5

是否有一种通用的方法来禁止.swfIIS 7 中的示例文件或使用 .Net 上的查询字符串参数?

我们有一个第三方 swf 文件的应用程序,它通过使用某些查询字符串参数调用它来允许 XSS。因此,我们希望以通用方式禁用参数。

我唯一想到的是编写一个处理程序,将文件调用重新路由到不带参数的调用。

4

2 回答 2

2

您不需要Handler,只需一个新的 IISRewrite规则,它将匹配yourfile.swf?*并将其重写为yourfile.swf(明确地不附加querystring)。

类似的东西(没有检查):

<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="strip_querystring" patternSyntax="Wildcard" stopProcessing="true">
                <match url="yourfile.swf*" />
                <action type="Rewrite" url="yourfile.swf" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

于 2013-03-13T14:07:28.237 回答
0

在 Global.asax BeginRequest 事件中试试这个

 Private Sub Global_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.BeginRequest

        Dim httpContext As HttpContext = httpContext.Current
        Dim request As HttpRequest = httpContext.Request
        Dim response As HttpResponse = httpContext.Response

        If request.QueryString.Count > 0 AndAlso request.Url.LocalPath.EndsWith(".swf", StringComparison.InvariantCultureIgnoreCase) = True Then
            response.Redirect(request.Url.LocalPath)
        End If


    End Sub
于 2013-03-13T14:02:45.057 回答