Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dimitrix en 6 Mayo 2012, 20:06 pm



Título: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 6 Mayo 2012, 20:06 pm
Pues tengo que hacer una especie de gestor de correo electrónico. Repito 'una especie'.

Y tengo el problema que una vez el usuario redacta el 'email' y le da a 'siguiente' lo tiene que previsualizar.

Aquí tengo el problema, el email puede tener hasta 100.000 carácteres y para la previsualización he pensado en guardarlo en mysql o de alguna forma. Puesto que si lo muestro de la variable POST es vulnerable a XSS y no puedo pasarle el htmlspecialchars ni nada por el estilo puesto que el mensaje es en HTML con colores, etc... por lo que no se podría previsualizar.

¿Alguna idea?


Título: Re: Almacenar 100.000 carácteres.
Publicado por: s00rk en 6 Mayo 2012, 20:40 pm
Pues lo unico que se me ocurre es que donde encuentre la palabra script, esta sea reemplazada por espacios y ya.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 6 Mayo 2012, 20:42 pm
Pues lo unico que se me ocurre es que donde encuentre la palabra script, esta sea reemplazada por espacios y ya.

Sí, pero mi experiencia mi dice que existen 100.000 formas de hacer un XSS sin la palabra script.

Por ejemplo incluyendo un js de manera externa.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: ~ Yoya ~ en 6 Mayo 2012, 21:40 pm
Lo que puedes hacer es crear una especie de BBCODE al principio, osea recibes el texto, remplazas los tags como <b><h1>, etc... Por BBCODE y luego lo pasas por htmlentities y por ultimo reemplaza los BBCODE por etiquetas HTML validas xD.

Seria algo así

1º - Recibo el texto
2º - Reemplazo las etiquetas <b><h1>, etc... Por BBCODE.
3º - Le aplico un htmlentities() a todo el TEXTO.
4º - Reemplazo el BBCODE por sus etiquetas equivalente en HTML.
5º - Imprimo el texto.

Saludos.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 6 Mayo 2012, 21:59 pm
Yoya es una gran idea! Pero el problema es que se acepta divs, css y mil cosas más...

Así que no importa, quitaré <script> y lo que huela a 'caca' y le meteré un anti CSRF además de comprobación mediante referer.

Gracias a todos, si alguien quiere el código una vez lo haga que me lo diga.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: rauls en 6 Mayo 2012, 23:10 pm
hola dimitrix, como estas saludos desde Mexico, el motivo de este mensaje es que no se si me puedas ayudar con un pequeño proyecto, para mi y unos amigos.

encontre en el foro el siguiente tema:

http://foro.elhacker.net/php/source_de_la_web_megaupload_premium_gratis_by_dimitrix-t256773.0.html

y me emocione, pues aunque el tema fue publicado en el 2009, aun hoy sigues en el foro.

planeamiento dell problema:
- $$$$$  :-( :-(  $$$$$
- ser fanatico de las peliculas y series de tv.
- detestar las bajar resoluciones. creo que seriamos felices si todo fuera con youtube HD pero lastima que nadamas acepta 15 min. y siempre bloquean el contenido. :-( :-(

actualmente tengo una cuenta en un generador de enlaces premium no es muy caro pues nada mas me cobra 4 Eur al mes, pero resulta que casi siempre se satura y las velocidades de descarga bajan y bajan y bajan, hasta 15 kib/s, cuando esta libre puedo llegar hasta 1.3 Mib/s muy buenos, pero es muy raro que este a esa velocidad.

Para cortar un poco el rollo, (perdona soy muy rolllero, es mi natualeza hablar hablar hablar, y no lo puedo evitar )

Quiero desarrollar un Generador de enlaces premiun paracomenzar con rapidshare despues tal vez con otros servidores.

puedo tener para desarrollar esta idea

* un VPS, - con -
   Disk Space 100 GB
   Bandwidth   Unlimited
   RAM   1 GB
   IP   1
   Location US – Kansas City
   Management Panel SolusVM
   CPU   AMD Opteron 2218
   Cores   1 X 2.60GHz
   Uplink   1 Gbit
   Operating System Linux
   Full root access
* Cuenta premiun en Rapidshare

Se que hay muchos generadores de enlaces premiun para rapidshare gartis, pero al ser gratis, por lo regular estan muy saturados. entonces pense en desarrollar uno propio para mi y mis amigos del la web. somos como unos 6 con el mismo gusto y problemas.

¿tu crees que se pueda desarrollar algo asi, facilmente? pues NO TENGO muchos conocimeintos en PHP. conozco un poco de php y javascrip.

gracias, por tomarte la molestia de leer hasta el final y disculpa me natuaraleza, hablar, hablar y hablar, que en este caso es escribir escribir y escribir....  :-( :-( ya me voy. bye. JAJAJAJA


Título: Re: Almacenar 100.000 carácteres.
Publicado por: s00rk en 7 Mayo 2012, 16:44 pm
Yo si desearia ver el codigo cuando lo termines.

hola dimitrix, como estas saludos desde Mexico, el motivo de este mensaje es que no se si me puedas ayudar con un pequeño proyecto, para mi y unos amigos.

encontre en el foro el siguiente tema:

http://foro.elhacker.net/php/source_de_la_web_megaupload_premium_gratis_by_dimitrix-t256773.0.html

y me emocione, pues aunque el tema fue publicado en el 2009, aun hoy sigues en el foro.

planeamiento dell problema:
- $$$$$  :-( :-(  $$$$$
- ser fanatico de las peliculas y series de tv.
- detestar las bajar resoluciones. creo que seriamos felices si todo fuera con youtube HD pero lastima que nadamas acepta 15 min. y siempre bloquean el contenido. :-( :-(

actualmente tengo una cuenta en un generador de enlaces premium no es muy caro pues nada mas me cobra 4 Eur al mes, pero resulta que casi siempre se satura y las velocidades de descarga bajan y bajan y bajan, hasta 15 kib/s, cuando esta libre puedo llegar hasta 1.3 Mib/s muy buenos, pero es muy raro que este a esa velocidad.

Para cortar un poco el rollo, (perdona soy muy rolllero, es mi natualeza hablar hablar hablar, y no lo puedo evitar )

Quiero desarrollar un Generador de enlaces premiun paracomenzar con rapidshare despues tal vez con otros servidores.

puedo tener para desarrollar esta idea

* un VPS, - con -
   Disk Space 100 GB
   Bandwidth   Unlimited
   RAM   1 GB
   IP   1
   Location US – Kansas City
   Management Panel SolusVM
   CPU   AMD Opteron 2218
   Cores   1 X 2.60GHz
   Uplink   1 Gbit
   Operating System Linux
   Full root access
* Cuenta premiun en Rapidshare

Se que hay muchos generadores de enlaces premiun para rapidshare gartis, pero al ser gratis, por lo regular estan muy saturados. entonces pense en desarrollar uno propio para mi y mis amigos del la web. somos como unos 6 con el mismo gusto y problemas.

¿tu crees que se pueda desarrollar algo asi, facilmente? pues NO TENGO muchos conocimeintos en PHP. conozco un poco de php y javascrip.

gracias, por tomarte la molestia de leer hasta el final y disculpa me natuaraleza, hablar, hablar y hablar, que en este caso es escribir escribir y escribir....  :-( :-( ya me voy. bye. JAJAJAJA

Algo que veo en un principio es la locacion del vps que yo preferiria que busquen uno enotro lugar como rusia esto por las leyes no vaya a ser que cierren por copyright y demas hehehe

Suerte con su proyecto.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: ~ Yoya ~ en 7 Mayo 2012, 18:23 pm
Yoya es una gran idea! Pero el problema es que se acepta divs, css y mil cosas más...

Así que no importa, quitaré <script> y lo que huela a 'caca' y le meteré un anti CSRF además de comprobación mediante referer.

Gracias a todos, si alguien quiere el código una vez lo haga que me lo diga.

Estas en un grave error, eliminando solo script no evitaras XSS, puedes ejecutar javascript con casi cualquier etiqueta HTML... Te recomiendo que crees un sistema de BBCODE o utilices uno ya realizado, para darle formato al texto y apliques el concepto que mencione.

Con respecto al CSRF, con un sistema de token basta para evitarlo...

Saludos.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 7 Mayo 2012, 18:35 pm
~ Yoya ~  como dije ya lo se, pero solo se ejecuta en su cuenta.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: #!drvy en 7 Mayo 2012, 19:47 pm
Es un poco cutre pero... guardarlo en un archivo temporal ? y luego si eso lo muestras con un iframe xD

PD: De todos modos.. porque en vez de pre-visualizarlo no utilizas un editor tipo wysiwyg ?


Saludos


Título: Re: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 7 Mayo 2012, 23:34 pm
Es un poco cutre pero... guardarlo en un archivo temporal ? y luego si eso lo muestras con un iframe xD

PD: De todos modos.. porque en vez de pre-visualizarlo no utilizas un editor tipo wysiwyg?

Saludos

Uso un wysiwyg, pero si en la previsualización lo utilizo estoy en lo mismo puesto que puedes enviar <script> aunque wysiwyg se puede ejecutar o evitar con un </div>.

Lo que he pensado es guardarlo en un archivo temporal y no mostrar la previsualización puesto que la página intermedia es más bien para decir cuanto le va a costar enviar el email más que otra cosa.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 8 Mayo 2012, 03:24 am
Vale doy dos opciones:
1º Opción:
Código
  1. if($_GET['apartado']=="prvwd" && $_SERVER['HTTP_REFERER']=="http:/panel.dominio.es/?apartado=snn"){
  2. //Asi sabes que si hay XSS es de uno mismo
  3. };

2º Opción:

1º Saca el MD5 del texto.
2º Guarda el texto en un archivo temporal y se queda en un hidden el MD5
3º Confirma que desea enviarlo.
4º Comprueba mediante SUM MD5 que todo fuera bien. Si es así lo envía.


Título: Re: Almacenar 100.000 carácteres.
Publicado por: Graphixx en 8 Mayo 2012, 05:02 am
Y si para la previsualizacion del correo en vez de mostrarlo en pantalla, se lo previsualizas como PDF???
http://foro.elhacker.net/php/generar_pdf_con_php_las_mejores_librerias_tcpdf_ezpdf_fpdf_html2pdf_y_birt-t354907.0.html

igual dichas librerias permiten generar el pdf desde codigo html

PD: Que algun moderador mueva lo que comento el compañero rauls, pa un tema aparte!!!


Título: Re: Almacenar 100.000 carácteres.
Publicado por: dimitrix en 8 Mayo 2012, 09:17 am
Eso es un poco cutre, además es diferent el HTML de programas para genera PDF al de la web, creeme trabajo mucho con esos programas y no pilla todo el CSS y tablas iguales.