2013-03-13 5 views
5

Czy istnieje ogólny sposób blokowania parametrów kwerendy na przykład w plikach .swf w IIS 7 lub przy użyciu .Net?Nie zezwalaj na parametry zapytania dla niektórych plików w IIS 7.5 lub z .NET

Mamy aplikację z plikiem swf strony Thrid, która pozwala XSS, wywołując go z pewnymi parametrami ciągu zapytania. Dlatego chcemy wyłączyć parametry w sposób ogólny.

Jedyne, co przychodzi mi na myśl, to pisanie programu obsługi, który przekieruje połączenie do wywołania bez parametrów.

Odpowiedz

2

Nie potrzebujemy Handler, tylko nowy IIS Rewrite regułę, która będzie pasował yourfile.swf?* i przepisać go jako yourfile.swf (jawnie bez dołączania querystring) .

coś jak (nie to sprawdzić):

<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> 

+0

To wygląda na ładne i czyste rozwiązanie. Czy możliwe jest dopasowanie do wszystkich plików z rozszerzeniem .swf? – Mark

+1

' ' Upewnij się, że działa, ponieważ nie sprawdzam tych zasad. – haim770

0

Spróbuj to w przypadku 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 
+0

Dzięki za sugestię. Jestem okropny w VB, ale rozumiem, co sugerujesz i już dokonałeś podobnej implementacji tego w programie obsługi. Prawdopodobnie przestawię się na zasugerowaną powyżej zasadę przepisywania, ponieważ lepiej pasuje ona do problemu w mojej sytuacji. – Mark