La risposta di Hector ha alcuni grandi esempi, ma vorrei sottolineare un altro punto molto importante:
Questa non è una piccola vulnerabilità
Sembra che tu abbia l'impressione che se "tutto" che puoi fare è leggere file arbitrari sul loro sistema, allora la vulnerabilità non è realmente una vulnerabilità. Direi l'esatto opposto. Devi capire che la sicurezza è meglio affrontata dal punto di vista della difesa in profondità. Può essere praticamente impossibile avere un sistema privo di vulnerabilità, quindi l'obiettivo è quello di avere il maggior numero possibile di livelli di difesa nel maggior numero possibile di aree, in modo che se un attore malintenzionato trova un punto debole in un'area, le difese in tutto il sistema impedirà loro di causare danni reali. Si verificano molte violazioni del mondo reale, non perché ci fosse una vulnerabilità di cui qualcuno ha approfittato, ma perché c'era una vulnerabilità che permetteva loro di trarre vantaggio da un'altra vulnerabilità, che permetteva loro di fare qualcos'altro, fino a quando non hanno trovato qualcosa veramente pericoloso.
Questa piccola vulnerabilità offre agli attori malintenzionati l'accesso completo in lettura al tuo sistema. Ciò è ulteriormente aggravato dal fatto che si è trattato di uno svarione di sicurezza abbastanza ovvio. Se la società in questione disponesse di sviluppatori ben addestrati e stessero facendo revisioni periodiche del codice, è (IMO) molto improbabile che un tale codice possa arrivare a un sistema di produzione. Il significato di questo fatto è che suggerisce che questa non sarà l'unica vulnerabilità di sicurezza presente. Il fatto che ora hai un modo per visualizzare direttamente il codice sorgente del sistema significa che trovare ulteriori vulnerabilità di sicurezza è sostanzialmente più facile. Abbastanza probabilmente game over. Se fossi un attore malvagio e ho trovato questo vorrei:
- Scarica il codice sorgente dell'intero sistema (potrebbe richiedere un giorno, ma è quasi certamente possibile)
- Cerca eventuali vulnerabilità SQLi (probabilmente ce ne sono molte) e usale per scaricare l'intero database. Direi che ci sono buone probabilità che non stiano usando la sicurezza della password corretta. Sarebbe ovvio dal loro codice sorgente, il che significa che se non stanno proteggendo correttamente le loro password, una vulnerabilità SQLi mi permetterà di:
- Il bruto forza le password dell'amministratore. Ora sono nel tuo portale web. Ma indovina un po? Non ho finito
- La maggior parte delle password di riutilizzo degli utenti aziendali è sempre presente. Così ora ho intenzione di prendere la password di amministratore e vedere se riesco ad accedere al proprio account di posta elettronica. Da lì, con un po 'di fortuna, potrei essere in grado di entrare nella gestione degli account di hosting. O forse paghe o conti bancari. Il cielo è il limite una volta che ho la tua password e-mail, soprattutto per un account amministratore. È ancora meglio se l'email aziendale è ospitata da un provider di hosting di cloud (Office 365 o simili) e la password di amministratore che ho risolto mi ha dato accesso al provider di hosting di posta elettronica. Ciò mi consente di accedere a ogni singolo indirizzo email dell'azienda.
- Forse ho trovato una vulnerabilità SQLi e ho scaricato il database, ma avevano una buona sicurezza della password e non potevo crackare nulla. Ora inizio a cercare le vulnerabilità XSS nel codice sorgente. Alcune semplici email di social engineering e io uso XSS per accedere a un account amministratore sul sistema senza conoscere la loro password. Che ora?
- Scommetto che ci sono aree del sistema che un amministratore può utilizzare per aggiornare il sistema. Hanno un CMS? Ha funzionalità come wordpress, ecc, che consentono agli amministratori di modificare i modelli dal portale web? Perché se così fosse, l'ho usato per installare una backdoor sulla macchina per accedere direttamente al sistema sottostante. Sarò bloccato con le autorizzazioni di chiunque sia il server web in esecuzione. Si spera che il server non sia in esecuzione come root. Se non altro installerò un bot minerario di Monero che non inizierà per un paio di mesi, una porta sul retro ben nascosta, e poi inizierò a spendere tempo e denaro per la CPU. A meno che non abbiano una copia pulita del sistema al di fuori del server live (molte piccole aziende no), non mi faranno mai uscire. Bruceranno una quantità incalcolabile di tempo e denaro nel tentativo di estrarre questo virus misterioso dal loro sistema che continua a tornare, indipendentemente dalla frequenza con cui iniziano a funzionare.
- Mentre ci sono, installerò del codice che mi invierà automaticamente gli indirizzi e-mail e le password di chiunque acceda al portale web. Torna al passaggio n. 4 sopra.
- Il cielo li aiuta se hanno qualcosa di prezioso all'interno del sistema. Numeri di previdenza sociale? Carte di credito? Se conservano tali informazioni per i propri dipendenti o clienti, ora sono mie.
Questo non è un problema di sicurezza isolato. Tali cose non esistono mai nella pratica.