Questa vulnerabilità è considerata "bassa" e presenta un punteggio CVSS di 5.0. Il pen-test prende una pagina esistente e cambia semplicemente il verbo nell'invio, passando il payload del form nella stringa della query. Se il sito web genera un errore o visualizza una pagina diversa da quella normale, è un PASS. Se il sito Web restituisce una pagina sostanzialmente simile alla pagina normale, si tratta di un errore.
I gestori per le richieste POST hanno spesso attenuazioni diverse; ad esempio, CSRF è spesso implementato per POST e non per GET. Modificando il verbo, un utente malintenzionato potrebbe potenzialmente aggirare il controllo. Un esempio può essere trovato nel database di vulnerabilità comuni, qui , se sei curioso di sapere se questo è un problema.
Potresti avere una vulnerabilità se hai utilizzato ActionName attributo per mappare GET e POST a diversi metodi e i metodi hanno filtri diversi (ad esempio POST ha il AuthorizeAttribute e GET non lo fa). Sarebbe una supervisione piuttosto seria e avrebbe bisogno di essere corretto prima di chiudere questo problema.
D'altro canto, questo tipo di test può generare falsi positivi, specialmente nelle pagine in cui il contenuto pubblicato non ha un effetto immediato sull'esperienza utente.
Se mi sono imbattuto in questo rapporto per un sito MVC, vorrei solo verificare che ci fosse una restrizione verb sul metodo di azione, quindi contrassegnare l'elemento come "falso positivo" e andare avanti, senza pensarci troppo , per ragioni che il PO ha spiegato.
Se non c'è una restrizione verbale, dovrai aggiungerla (con un HttpPostAttribute ), o trovare una giustificazione sul motivo per cui la pagina / gestore non è sensibile o non è meno vulnerabile quando si accede tramite GET.