Como bypassear función str_replace()?

Iniciado por Shell Root, 10 Marzo 2010, 06:51 AM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

Se olvidaron de mi duda... :P

Cita de: tooRllehS@xelA en 10 Marzo 2010, 17:29 PMAhora que entendí como es el bypasseo de la funcion str_replace(), con caracteres < y >. Ahora lo siguiente es incluir el caracter ". Así:
Código (php) [Seleccionar]
<?php

  
function replace_sh($strTexto){
    echo 
str_replace("\"","[No]",str_replace(">","[No]",str_replace("<","[No]",$strTexto)));
  }
//End Function

?>


Ahora como seria ese bypasseo... Antes era algo así:
\"' onClick='alert(/XSS/);'

Ahora si pongo eso, el resultado seria:
[No]' onClick='alert(/XSS/);'

Que podria hacer en ese caso?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

jdc

Pues mmm, habría que pensar un poquito mas xD

~ Yoya ~

filtra todas la comillas simples y dobles... Desactiva Magic_Quote_GPC
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

WHK

si quieres filtrar " ' < > mejor usa htmlspecialchars que hace lo mismo pero en ves de ponerle [no] le pone su valor equivalente en htmlentities.

Shell Root

Cita de: WHK en 11 Marzo 2010, 00:28 AMsi quieres filtrar " ' < > mejor usa htmlspecialchars que hace lo mismo pero en ves de ponerle [no] le pone su valor equivalente en htmlentities.
Por su pollo, pero lo digo por 2da vez, es un ejemplo y una duda que tengo. Ahora si le hago un str_replace a la comilla doble, como hago para generar un XSS, o ahi si seria completamente imposible. Sin olvidar el entorno en el que estoy...
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

Al fin y al cabo acabaras haciendo lo mismo con htmlentities, recuerda que  estas bypasseando el parámetro que le indicas, y dudo que algúna persona use los mismo parámetros, mejor usan una función nativa de php...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

jdc

Cita de: janito24 en 10 Marzo 2010, 22:17 PM
Perdón un error, no es que una sea mas bonita o mas fea, ambas funciones trabajan de igual forma, juntas muestran los caracteres de cada carácter xD la diferencia es que htmlentities transforma todas las entidades html incluyendo por ejemplo las letras con acentos, mientras htmlspecialchars sólo con por ejemplo < y >

Sí quieren ver como funcionan ambas pues http://www.holamundo.cl/index.php?zona=xss-me

El diseño está pensado para celulares asi que no le pidan mas xD

Mira revisa la pagina otra vez, puse tu funcion como la pusiste al principio, luego quitando solo la ' y luego solo la "

Intenta poner: " onmouseover="alert(document.cookie);" x=" y luego pasa el raton por encima de los text en blanco ;)

En teoria segun eso con bloquear la " es suficiente pero yo bloquearia ambas xD lo dicho, usa htmlspecialchars($var,ENT_QUOTES)  :xD