Come testare CSRF se ci sono molti campi nascosti con valori diversi?

2

Volevo testare specifici campi nascosti con valori diversi per ciascuno con il caso di test della falsificazione di richieste cross-site. Come si farebbe così? Farebbe un approccio sia manuale che automatico.

Elenchi di esclusione per questo tipo di test:

  1. Burp Suite
  2. CSRFTester

Sono stati testati con loro, è noioso e inefficiente.

    
posta Shritam Bhowmick 15.05.2015 - 20:53
fonte

1 risposta

2

L'estensore di Burp Suite ha un paio di plugin CSRF che potrebbero aiutarti a migliorare la tua esperienza. Tentano di individuare le richieste senza token di protezione CSRF come parte dello scanner passivo o di eseguire controlli attivi per verificare se è possibile eseguire le richieste (ovvero ottenere una risposta 200 OK) senza i token.

Potresti anche essere interessato a zaproxy , che è un'alternativa open source a Burp Suite che ha lo stesso caratteristiche e alcuni altri. Potrebbe adattarsi meglio. L'interfaccia utente non è così intuitiva, ma è comunque ottima.

Personalmente, per fare test su un gran numero di pagine / siti, scriverei uno script di test davvero semplice in Python usando Scrapy . Per ciascuno degli oggetti risposta dati, accedi al corpo della risposta, quindi usa xpath(query) o css(query) funzioni per identificare i moduli con campi di token CSRF con un nome specifico. È quindi possibile raccogliere il set completo di input per questi campi e l'URL di destinazione.

Una volta che hai una serie di bersagli e campi di moduli, puoi modificare i token CSRF come preferisci, quindi provare a inviare i moduli con qualsiasi valore tu ritenga opportuno. Controlla i valori di risposta per vedere se il risultato torna con un errore o reindirizza a un errore.

    
risposta data 15.05.2015 - 23:49
fonte

Leggi altre domande sui tag