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ý <pstibr...@gmail.com>

> 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
>
>
>

Odpovedet emailem