• Como Limpiar Codigo HTML Malicioso En Java Con Antisamy

    AntiSamy es una API en Java para limpiar posible codigo malicioso HTML/CSS que proviene desde la web (user input). Su configuracion se basa en politicas de limpieza las cuales son muy sencillas (tags permitidos y no, etc).



    AntiSamy fue inspirado en un muchacho llamado Samy que hizo un worm JS/CSS en MySpace aprovechando falencias de Internet Explorer para ejecutar codigo malicioso logrando juntar un par de millones de amiguis en 2 dias. Aqui la historia.

    Para empezar hay que bajarse el project desde Google Code





    Elegir entre las politicas disponibles de seguridad.

    antisamy-slashdot.xml
    antisamy-ebay.xml
    antisamy-myspace.xml
    antisamy-anythinggoes.xml
    

    Yo Utilizo la de Slahsdot la cual es super estricta, limpia todo lo no HTML y solo deja poner P tags.


    Ahora solo resta llamar al codigo y limpiar el bendito HTML.

    import org.owasp.validator.html.*;
    
    Policy policy = Policy.getInstance("/home/yo/antisamy-slashdot.xml");
    
    AntiSamy as = new AntiSamy();
    CleanResults cr = as.scan(dirtyInput, policy);
    String cleanText = cr.getCleanHTML();
    



    Eso es todo. Saludos
    R

Leave a comment