Vulnerabilità CSRF in CGI / shell script web interface di hardware

0

Ho un'interfaccia web per un hardware che viene principalmente utilizzato per riavviare l'hardware. Il riavvio può essere eseguito solo da utenti autenticati. L'interfaccia web è scritta in CGI / shellscript. Non utilizza alcuna sessione / cookie. È un'autenticazione una tantum tramite l'autenticazione ldap lighttpd. Nessun cookie viene trasferito sul browser.

Può l'attacco CSRF riavviare l'hardware? Come posso trovare la vulnerabilità di CSRF in tali interfacce web di script CGI / shell?

    
posta imanartist 25.06.2014 - 05:35
fonte

1 risposta

2

CSRF può accadere ogni volta che i servizi POST dei server non provengono da un modulo servito dal server .

Non usare i cookie per l'autorizzazione non significa che CSRF non può accadere. Un iframe incorporato può ancora POST su qualsiasi URL indovinabile con parametri ipotetici. Un utente-agente personalizzato può ancora inviare intestazioni indovinabili.

It is one time authentication through lighttpd ldap authentication.

Non capisco i dettagli di questo metodo di autenticazione, ma una volta sola risolve il problema con CSRF. Non sarai vulnerabile a CSRF se

  • il tuo servizio di riavvio richiede sempre all'utente di inserire le proprie credenziali per eseguire un riavvio, quindi non è idempotente di per sé
  • il servizio di riavvio viene richiesto solo da un modulo con un'azione non gestibile (ad esempio uno con un segreto incorporato o credenziali incorporate) da una pagina che controlla LDAP
  • il servizio di riavvio funziona solo quando ha un'intestazione non gestibile impostata da una pagina che controlla LDAP, quindi CSRF non è un problema.
  • il servizio di riavvio è raggiungibile solo da un URL non accessibile

† - più in generale, qualsiasi operazione non sicura / a effetto collaterale
‡ - più in generale, non dal codice attendibile dell'origine che gestisce la richiesta

    
risposta data 25.06.2014 - 14:35
fonte

Leggi altre domande sui tag