Onvoldoende validatie aan de serverzijde in AEM-profielupdate
In Adobe Experience Manager (AEM) staat de Auteur CMS profielupdates toe via de Touch-interface zonder robuuste servervalidatie af te dwingen. Het probleem komt voort uit het standaard toegestane validatiemodel van AEM, dat geen strikte controles van profielvelden afdwingt. Implementeer servervalidatie met Sling PostProcessor of aangepaste servletlogica om het probleem op te lossen.
Beschrijving description
Omgeving
Adobe Experience Manager (AEM), v6.5
Probleem/symptomen
-
Er is onvoldoende validatie aan de serverzijde vastgesteld tijdens een VAPT (kwetsbaarheidsbeoordeling en penetratietests). Symptomen zijn onder meer:
- De AEM Author CMS accepteert ongeldige e-mailinvoer tijdens profielupdates via de Touch UI.
- Validatie aan de clientzijde bestaat, maar controles aan de serverzijde ontbreken, waardoor gewijzigde aanvragen met ongeldige gegevens profielvelden kunnen bijwerken.
-
De kwetsbaarheid is geïdentificeerd tijdens een VAPT-oefening (Vulnerability Assessment and Penetection Testing).
Stappen om te reproduceren:
- Meld u aan bij de AEM-backend en navigeer naar de pagina met het bewerkingsprofiel.
- Controleer of er validatie aan de clientzijde is voor het e-mailveld.
- Voer een geldig e-mailadres in en onderschepp de aanvraag met de Burp Suite terwijl u de wijzigingen opslaat.
- Wijzig de waarde van de e-mailparameter aan een ongeldige waarde zoals vals.
- Stuur de gewijzigde aanvraag door en controleer of het profiel is opgeslagen zonder geldige e-mail.
Resolutie resolution
Het invoervalideringsmodel van AEM is standaard opzettelijk flexibel. De repository hanteert een permissieve aanpak en er worden minimale beperkingen opgelegd aan de meeste velden, waaronder het e-mailkenmerk. Buiten-de-box, is er over het algemeen geen strikte bevestiging op profielgegevensgebieden-het is aan de toepassing of de consument om inhoudsintegriteit te handhaven waar nodig.
Houd rekening met de volgende opties voor een robuuste invoervalidering op de server (bijvoorbeeld voor e-mailvelden):
- Voer de Verschuivende interface PostProcessor uit om input te bevestigen die door Sling Post Servlet tijdens standaard inhoudsupdates in de Auteur van AEM wordt beheerd.
- Voeg validatielogica toe in toegewezen servlets voor gevallen waarin profielupdates buiten de Sling Post Servlet worden afgehandeld.
Dit zorgt ervoor dat alle vereiste velden worden gevalideerd op basis van de behoeften van uw toepassing, terwijl de flexibiliteit voor andere gebruiksgevallen behouden blijft.
Gerelateerde lezing
Sling Servlet in de Zelfstudies van AEM Forms