Quando spengo la convalida della richiesta in asp.net, sono vulnerabile?

5

Quindi ho la convalida della richiesta nella mia applicazione web. Puoi aggiungere /foo?=<script> e la mia applicazione web non la prenderà, non la filtrerà,

Questo mi rende vulnerabile agli attacchi; dovrei accenderlo?

    
posta Suhass 13.09.2015 - 19:51
fonte

2 risposte

1

Dipende se si codificano correttamente i caratteri sull'output. Ad esempio, per HTML il carattere < deve essere codificato come &lt; .

Se lo fai ovunque, puoi disattivare in modo sicuro la convalida della richiesta.

Questo è un metodo migliore in quanto alcune sequenze di caratteri possono bypassare RV a seconda del contesto in cui l'input viene successivamente utilizzato. Ad esempio, se il valore lo rende in un valore di attributo HTML, una sequenza come

" onerror="alert('xss')

lo ignorerà quando viene inserito in

<img src="/foo.jpg" alt="<user input>" />

man mano che diventa

<img src="/foo.jpg" alt="" onerror="alert('xss')" />

Inoltre, l'input da fonti diverse da ASP.NET può significare che gli script possono ancora essere inseriti nell'applicazione. Questo è il motivo per cui raccomando la corretta codifica dell'output piuttosto che tentare di convalidare l'input. La convalida globale dell'input è un problema ancora più grande in quanto vi saranno sempre lacune quando non ci sono opzioni per convalidare il contesto.

    
risposta data 13.09.2015 - 21:24
fonte
0

La convalida delle richieste, sebbene utile in alcuni scenari, non è considerata da Microsoft come un limite di sicurezza, quindi non dovrebbe certamente essere l'unica difesa contro gli attacchi. Detto questo, è uno strumento valido da usare per la difesa in profondità, quindi dovresti abilitarlo a meno che tu non abbia una ragione specifica per non farlo.

In ultima analisi, è necessario conoscere il modello di minaccia per la propria applicazione, in modo da poter mettere a punto mitigazioni ponderate anziché attivare o disattivare semplici opzioni a livello di applicazione e sperare per il meglio.

    
risposta data 13.09.2015 - 20:02
fonte

Leggi altre domande sui tag