Ahoj,
odhliadnuc od faktu, ze c:out je na mnohych miestach absolutne nedostatocne
riesenie, tak sa musime spolahnut na to, ze vyvojari nezabudnu na spravnom
mieste pouzit spravne escapovanie. Ja dufam, ze sa najde i lepsie riesenie :-)
-Peter
On Friday, 27. April 2012 at 16:14, Lukas Barton wrote:
> Cau,
>
> jednoducha dve pravidla:
>
> a) vsecheno co jde na vystup escapovat - tj. nikde nepouzivat {} ale jen
> c:out a custom tagy. Ty slozene zavorky pro vypis vystupu v JSP je IMHO hodne
> velka chyba v navrhu vzhledem k XSS.
> b) kdyz uz jde nekde ven (X)HTML tak procistit - treba pomoci Antisamy.
>
>
> Lukas
>
> 2012/4/27 Peter Štibraný <[email protected] (mailto:[email protected])>
> > Dobry den prajem,
> >
> > chcel by som sa spytat na vase skusenosti so zabezpecenim stredne velkej
> > webovej aplikacie voci cross-site scripting utokom [3]. Na generovanie
> > weboveho vystupu pouzivame JSP + JSTL. V aplikacii je niekolko stoviek JSP
> > stranok.
> >
> > Idealne riesenie by bola nejaka "context-sensitive automatic sanitization"
> > (CSAS) technika fungujuca nad existujucimi JSP strankami. Na zaciatok by
> > postacovalo kontextove escapovanie EL vyrazov v JSP strankach, skriptlety
> > si nechame na neskor :-). Predstavujem si to tak, ze JSP stranka by
> > "sledovala" doterajsi vystup a browser-context v ktorom sa ten ktory EL
> > vyraz vyskytuje, a podla toho by sa vyescapoval. Ale nic podobne som este
> > nenasiel, neviem ci sa to vobec da urobit.
> >
> > Nasiel som dve Javovske templajtovacie kniznice, ktore maju automaticke
> > kontextove escapovanie: JXT [1] a Google Closure Templates [2], myslim, ze
> > i Velocity ma nejaku podporu. Prepisat mnozstvo JSP stranok vsak asi nebude
> > cesta.
> >
> > Akym sposobom ste pri zabezpecovani "legacy" webovej aplikacie voci XSS
> > postupovali vy?
> >
> > S pozdravom,
> > -Peter Stibrany
> >
> > [1] https://www.owasp.org/index.php/OWASP_Java_XML_Templates_Project,
> > https://code.google.com/p/owasp-jxt/
> > [2] https://developers.google.com/closure/templates/docs/security
> > [3]
> > https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
>