Otillräcklig validering på serversidan i AEM profiluppdatering
I Adobe Experience Manager (AEM) tillåter Author CMS profiluppdateringar via Touch-gränssnittet utan att robust validering på serversidan används. Problemet beror på AEM standardmodell för behörighetsvalidering, som inte tillämpar strikta kontroller för profilfält. För att lösa problemet implementerar du validering på serversidan med Sling PostProcessor eller anpassad serverlogik.
Beskrivning description
Miljö
Adobe Experience Manager (AEM), v6.5
Problem/symtom
-
Otillräcklig validering på serversidan upptäcktes under en sårbarhets- och penetrationstestning (VAPT). Symtomen är bland annat:
- AEM Author CMS accepterar ogiltiga e-postindata under profiluppdateringar via Touch-gränssnittet.
- Validering på klientsidan finns, men kontroller på serversidan saknas, vilket gör att ändrade begäranden med ogiltiga data kan uppdatera profilfält.
-
Sårbarheten upptäcktes under en Vulnerability Assessment and Penetration Testing (VAPT) övning.
Steg att återskapa:
- Logga in på AEM serverdel och gå till sidan Redigera profil.
- Observera att det finns validering på klientsidan för e-postfältet.
- Ange en giltig e-postadress och spärra begäran med Burp Suite när du sparar ändringarna.
- Ändra värdet på e-postparametern till ett ogiltigt värde, till exempel fejken.
- Vidarebefordra den ändrade begäran och observera att profilen har sparats utan ett giltigt e-postmeddelande.
Upplösning resolution
AEM indatavalideringsmodell är avsiktligt flexibel som standard. Databasen har en tillåten inställning och minimala begränsningar gäller för de flesta fält, inklusive e-postattributet. Körklar validering av profildatafält är vanligtvis ingen strikt validering - det är upp till programmet eller konsumenten att säkerställa innehållets integritet där det behövs.
Om du vill ha en robust indatavalidering på serversidan (t.ex. för e-postfält) bör du överväga följande alternativ:
- Implementera gränssnittet Sling PostProcessor för att validera indata som hanteras av Sling Post Servlet under standardinnehållsuppdateringar i AEM Author.
- Lägg till valideringslogik i dedikerade servrar för fall där profiluppdateringar hanteras utanför Sling Post Servlet.
Detta garanterar att alla obligatoriska fält valideras enligt programmets behov samtidigt som flexibiliteten för andra användningsfall bibehålls.
Relaterad läsning
Sling Servlet i AEM Forms-självstudiekurser