ASP.NET HTTP Response Splitting Attack

8

Per impostazione predefinita, ASP.NET verifica l'attacco di divisione risposta HTTP quando si esegue Response.Redirect:

Response.Redirect("/MySite/Default.aspx?lang=foobar%0d%0aContentLength:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContentType:%20text/html%0d%0aContentLength:%2019%0d%0a%0d%0a<html>Shazam</html>");

Risultato: pagina di errore:

A potentially dangerous Request.QueryString value was detected from the client (lang="...th: 19

<html>Shazam</html>").

Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. 

C'è un altro modo per eseguire un attacco di risposta HTTP Splitting sulla configurazione del sito Web ASP.NET predefinito? Che dire di ASP.NET MVC?

    
posta Paul Podlipensky 16.01.2012 - 19:34
fonte

1 risposta

7

Questa sarà una risposta banalmente fastidiosa, MA ...

L'unico modo per eseguire un attacco di Response Splitting su un server ASP.NET (o MVC) aggiornato è se l'applicazione stessa sta scrivendo risposte HTTP non elaborate .
Sì, certo che nessun programmatore sano di mente lo farebbe ... ma nel caso del 60% dei programmatori che sono non nella loro giusta mente, è possibile probabile che tale implementazione sia vulnerabile.

Altrimenti no, l'applicazione non è vulnerabile a HRS.

    
risposta data 21.02.2012 - 20:35
fonte