Convalida lato server insufficiente nell’aggiornamento del profilo di AEM

In Adobe Experience Manager (AEM), l’istanza di authoring di CMS consente gli aggiornamenti dei profili tramite l’interfaccia utente touch senza applicare una solida convalida lato server. Il problema deriva dal modello di convalida permissiva predefinito di AEM, che non impone controlli rigorosi sui campi del profilo. Per risolvere il problema, implementa la convalida lato server utilizzando la logica Sling PostProcessor o un servlet personalizzato.

Descrizione description

Ambiente

Adobe Experience Manager (AEM), v6.5

Problema/Sintomi

  • Durante una valutazione delle vulnerabilità e un test di penetrazione (VAPT) è stata identificata una convalida lato server insufficiente. I sintomi includono:

    • Il CMS di AEM Author accetta un input e-mail non valido durante gli aggiornamenti del profilo tramite l’interfaccia utente touch.
    • Esiste già una convalida lato client, ma mancano i controlli lato server, che consentono alle richieste modificate con dati non validi di aggiornare i campi del profilo.
  • La vulnerabilità è stata identificata durante un esercizio di valutazione della vulnerabilità e test di penetrazione (VAPT).

Passaggi da riprodurre:

  1. Accedi al backend di AEM e passa alla pagina Modifica profilo.
  2. Tieni presente che esiste una convalida lato client per il campo e-mail.
  3. Inserisci un indirizzo e-mail valido e intercetta la richiesta utilizzando Burp Suite durante il salvataggio delle modifiche.
  4. Modifica il valore del parametro e-mail con un valore non valido, ad esempio fake.
  5. Inoltra la richiesta modificata e osserva che il profilo è stato salvato correttamente senza un messaggio e-mail valido.

Risoluzione resolution

Il modello di convalida dell’input di AEM è intenzionalmente flessibile per impostazione predefinita. L’archivio adotta un approccio permissivo e nella maggior parte dei campi, incluso l’attributo e-mail, vengono applicate restrizioni minime. Generalmente non esiste una convalida rigorosa sui campi dei dati di profilo preconfigurati; spetta all’applicazione o al consumatore applicare l’integrità dei contenuti, se necessario.

Per introdurre una solida convalida dell’input lato server (ad esempio, per i campi e-mail), considera le seguenti opzioni:

  1. Implementa l'interfaccia Sling PostProcessor per convalidare l'input gestito da Sling Post Servlet durante gli aggiornamenti di contenuto standard in AEM Author.
  2. Aggiungi la logica di convalida nei servlet dedicati per i casi in cui gli aggiornamenti del profilo vengono gestiti all’esterno del servlet Sling Post.

In questo modo tutti i campi obbligatori vengono convalidati in base alle esigenze dell’applicazione, mantenendo al contempo la flessibilità per altri casi d’uso.

Lettura correlata

Sling Servlet nelle esercitazioni di AEM Forms

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f