31
PHP / [Ayuda] XSS en BBCode
« en: 24 de Diciembre de 2011, 19:04:19 pm »
Hola!!
Verán, ando haciendo un BBCode, pero descubrí un XSS en un sitio (quien lo quiera por MP, para no hacer spam) en el que había cientos de XSS... entré a ver si alguno afectaba a mi sistema y sí, hay uno que me es imposible solucionar.
Tengo esto para los links (que es donde hay XSS) :
Si se fijan, con poner:
Como bien saben, en HTML los espacios, para que se vean se han de convertir a , y aprovechando eso, funciona el XSS.
Me gustaría encontrar algún modo de solucionar el problema con las expresiones regulares y sin usar urlencode() o parecidos, ya que necesito hacerlo con expresiones regulares sí o sí.
Saludos.
Verán, ando haciendo un BBCode, pero descubrí un XSS en un sitio (quien lo quiera por MP, para no hacer spam) en el que había cientos de XSS... entré a ver si alguno afectaba a mi sistema y sí, hay uno que me es imposible solucionar.
Tengo esto para los links (que es donde hay XSS) :
Código: [Seleccionar]
/\[url=(.+)\](.+)\[\/url]/Usi
Si se fijan, con poner:
Código: [Seleccionar]
[url]java script:alert(/xss/);[/url]
(El espacio es un tab, no un espacio normal)Como bien saben, en HTML los espacios, para que se vean se han de convertir a , y aprovechando eso, funciona el XSS.
Me gustaría encontrar algún modo de solucionar el problema con las expresiones regulares y sin usar urlencode() o parecidos, ya que necesito hacerlo con expresiones regulares sí o sí.
Saludos.



