Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Kase en 20 Julio 2011, 06:43 am



Título: soluciones simples al injection html y al cros site script
Publicado por: Kase en 20 Julio 2011, 06:43 am
bueno, creo que estos errores son de cualquier novato que no conoce la malia de la gente..  e incluso a cualquiera sele pueden pasar

ami me ocurrio aller,   deje vulnerable un sitio a  cros stite scripting y unos camaradas se dieron cuenta y me jodieron un poco para  que lo corrijiera y en otro sitio tengo html injection ( por que me era indispensable que el usuario pudiera meter html)

y bueno para el html injection seme ocurrio este simple metodo para php:

Citar
$stop_injection = array('<script>','<iframe>','</script>','</iframe>','<div>','</div>','<script','<i frame','<div')
str_ireplace($stop_injection,'', $texto_a_blindar)
solo me preocupa el javascript y los iframes,  el </div> es para que ningun gracioso arruine la estructura de la pagina.


y para el cross site solo seme ocurre validar la url desde donde proceden los datos, o si es una session del usuario, validar la session

conocen metodos mejores y simples de implementar?


Título: Re: soluciones simples al injection html y al cros site script
Publicado por: Shell Root en 20 Julio 2011, 06:59 am
Código
  1. string htmlentities ( string $string [, int $flags = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )
:http://php.net/manual/es/function.htmlentities.php


Título: Re: soluciones simples al injection html y al cros site script
Publicado por: Kase en 20 Julio 2011, 07:07 am
Código
  1. string htmlentities ( string $string [, int $flags = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )
:http://php.net/manual/es/function.htmlentities.php

lamentablemente necesito que mis usuarios tengan acceso a html D=
a <b> <strike> <i> <table>  e incluso a <form> 

T-T

htmlentitles me limitaba demasiado D=


Título: Re: soluciones simples al injection html y al cros site script
Publicado por: Shell Root en 20 Julio 2011, 07:12 am
Ps en esté caso si deberías de tener un array con las etiquetas que no sean permitidas, realizar una expresión regular y eliminarlos.

:http://www.ribosomatic.com/articulos/editor-de-texto-wysiwyg-para-drupal/


Título: Re: soluciones simples al injection html y al cros site script
Publicado por: WHK en 20 Julio 2011, 07:28 am
Código
  1. <b onmouseup="alert(document.cookie)" style="width: 100%; height: 500px;">:)</b>

Para habilitar contenido HTML y evitar XSS la tienes bién negra, aun no existe NADA infalible, existen bases de datos con expresiones regl¡ulares hechas por los mejores hackers en el tema y aun asi todos los dias son actualizados (vease phpids.org y htmlpurifier).
Ejemplo: view-source:https://dev.itratos.de/projects/php-ids/repository/raw/trunk/lib/IDS/default_filter.xml

sdc hizo una mejor solución, aceptar html pero prevenir toda ejecución de javascript incluyendo la de tu sitio. En algunos casos sirve: http://code.taobao.org/svn/ACS/trunk/acs.js

Me gusta la linea 838 de ese sandbox jajajajajajaja

Lo otro que podrías hacer es filtro inverso, o sea pasar absolutamente todo a htmlspecialchars y luego a nl2br() mas str_replace() reemplazando cosas como:
Código:
&lt;b&gt; => <b>