Configurazione errata della sicurezza
L'errata configurazione della sicurezza si verifica quando le impostazioni di sicurezza vengono definite, implementate e mantenute come predefinite. Una buona sicurezza richiede una configurazione sicura definita e distribuita per l'applicazione, il server Web, il server database e la piattaforma. È altrettanto importante che il software sia aggiornato.
Esempio
Alcuni esempi classici di configurazione errata della sicurezza sono i seguenti:
Se l'elenco delle directory non è disabilitato sul server e se l'attaccante scopre lo stesso, l'attaccante può semplicemente elencare le directory per trovare qualsiasi file ed eseguirlo. È anche possibile ottenere la base di codice effettiva che contiene tutto il codice personalizzato e quindi trovare un grave difetto nell'applicazione.
La configurazione del server app consente di restituire agli utenti le tracce dello stack, esponendo potenzialmente i difetti sottostanti. Gli aggressori raccolgono quelle informazioni extra fornite dai messaggi di errore che sono sufficienti per penetrare.
I server delle app di solito vengono forniti con app di esempio che non sono ben protette. Se non viene rimosso dal server di produzione, potrebbe compromettere il tuo server.
Mani su
Step 1- Avvia Webgoat e vai alla sezione di configurazione non sicura e cerchiamo di risolvere questa sfida. L'istantanea della stessa è fornita di seguito:
Step 2- Possiamo provare quante più opzioni possiamo pensare. Tutto ciò di cui abbiamo bisogno per trovare l'URL del file di configurazione e sappiamo che gli sviluppatori seguono un tipo di convenzione di denominazione per i file di configurazione. Può essere qualsiasi cosa elencata di seguito. Di solito è fatto con la tecnica della forza BRUTA.
- web.config
- config
- appname.config
- conf
Step 3 - Dopo aver provato varie opzioni, troviamo che 'http://localhost:8080/WebGoat/conf'ha successo. La pagina seguente viene visualizzata se il tentativo ha esito positivo:
Meccanismi preventivi
Tutti gli ambienti come gli ambienti di sviluppo, controllo qualità e produzione devono essere configurati in modo identico utilizzando password diverse utilizzate in ogni ambiente che non possono essere violate facilmente.
Garantire l'adozione di un'architettura applicativa solida che fornisca una separazione efficace e sicura tra i componenti.
Può anche ridurre al minimo la possibilità di questo attacco eseguendo scansioni automatiche ed effettuando periodicamente controlli.