domingo, 5 de abril de 2009

XSS (Cross Site Scripting) Prevention Cheat Sheet

Buenas! Para los que no me conozcan soy Lix y desde ahora también escribiré en el blog de mi amigo The X-C3LL. Probablemente a algunos les suene mi nombre de los 1000² alagos que me echa Vengador por mis "maravillosos" links que le paso despues de repasar mi burrada de RSS's.

Espero que todos mis posts les sean de utilidad y que disfruten de ellos.

-----------------------------------------------------------------------------------------------------------------

Hace algun tiempo cuando The X-C3LL retomó el blog después de su tiempo de inactividad posteo una XSS cheat-sheet , en este post compartió algunos de los metodos mediante los cuales el intentaba bypassear los filtros impuestos en algunos casos que nos dificultan la tarea.

Revisando la pagina de OWASP (la cual visito diariamente) me encontré con este documento:

XSS (Cross Site Scripting) Prevention Cheat Sheet

Cuando nos encontramos con el problema de querer protegernos contra algunos ataques que pueden sufrir nuestras webs normalmente la solución a estos suele ser más tediosa que la simplicidad de los ataques. Al igual que los ataques que pueden ir desde un simple alert(5), hasta ataques más elaborados que intenten bypassear algún tipo de filtro: onmouseover="alert(String.fromCharCode(70,117,99,107,32,105,71,111,111,103,108,101));" . De esta misma forma cuando queremos defendernos de estos ataques disponemos desde soluciones simples y rápidas como sanear nuestra variable simplemente con una función en PHP como htmlspecialchars hasta sistemas más complejos como filtros propios en JavaScript, alguna libreria de filtrado como HTMLPurifier o algun Web IDS.

La idea de este post es la misma que la del anterior post de cheatsheet, recolectar varias maneras de prevenirnos de este tipo de ataque, compararlas y seleccionar cual es la más efectiva y segura.

Saludos y espero que participen...
5 0verl0ad Labs: XSS (Cross Site Scripting) Prevention Cheat Sheet Buenas! Para los que no me conozcan soy Lix y desde ahora también escribiré en el blog de mi amigo The X-C3LL. Probablemente a algunos les s...

2 comentarios:

>> s E t H << dijo...

siempre use htmlentities() y nada mas. tampoco es que programe mucho para webs...

Lix dijo...

Yo también soy partidario de usar las soluciones rápidas, pero hay aglunos filtros por ahí muy interesantes de los cuales siempre puedes sacar algo.

Ahora también ando provando con el HTMLPurifier.

< >