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