Se stai valutando un'applicazione come parte dell'esercizio di pentesting, come gestisci la funzionalità del sito interrotta? I problemi dovrebbero essere ignorati?
Mantenere i bug funzionali in un sistema sicuro?
Le funzionalità interrotte in un'applicazione web non sono una minaccia per la sicurezza di per sé , ma potrebbero esserlo. Per te come tester di penetrazione, cerca:
Poiché ogni singola riga di codice (e quindi ogni funzionalità, indipendentemente dal fatto che funzioni o meno) aumenta la superficie di attacco dell'applicazione, il client dovrebbe evitare di distribuire funzionalità (parzialmente) danneggiate ai propri server.
Se l'applicazione non ha requisiti, ad esempio: ci dovrebbe essere stata un'opzione di reimpostazione della password , quindi la cosa migliore che puoi fare è segnalarla al tuo cliente, ma questo certamente non è il tuo lavoro.
Quando l'applicazione soddisfa i requisiti per questa fase e è pronta per la produzione, tutto ciò che trovi è una vulnerabilità e dovrebbe essere corretto prima del rilascio.
Se stai aiutando con l'analisi della vulnerabilità nelle prime fasi di sviluppo (rami di sviluppo) dovresti intervenire il prima possibile per prevenire ulteriori sviluppi su una base indebolita.
Dipende molto dal tipo di bug funzionali che stai riscontrando. Due esempi
1) L'applicazione dovrebbe mostrare alcuni moduli o pannelli con dati aggiuntivi, ma questo non appare. di per sé abbastanza probabile da essere benigno, anche se le questioni dovute potrebbero essere indicative di una maggiore probabilità di problemi di sicurezza non correlati. Dopotutto, se i programmatori non riescono nemmeno a mantenere uno standard elevato rispetto ai requisiti funzionali visibili, come sarà il loro standard con requisiti come la sicurezza che sono invisibili all'azienda?
2) Viene visualizzato un errore del database quando l'utente inserisce% * ^ & # $ in un modulo online. È probabile che ciò richieda ulteriori indagini e potrebbe indicare una pericolosa mancanza di convalida o di disinfezione degli input.
Vorrei aggiungere che ogni volta che un'applicazione si blocca o si comporta in modo inaspettato, questo perché l'applicazione è entrata in uno stato imprevisto (e spesso indefinito, imprevedibile). Questo non necessariamente aumenta la superficie di attacco, tuttavia il fatto che sia diventato imprevedibile significa che (a tutti gli effetti) la superficie di attacco ha efficacemente aumentato fino a quando non si ottiene una conoscenza più approfondita del suo comportamento e le implicazioni dei problemi sono meglio comprese.
Leggi altre domande sui tag web-application penetration-test threats