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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Como bypassear función str_replace()?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Como bypassear función str_replace()?  (Leído 13,146 veces)
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Como bypassear función str_replace()?
« en: 10 Marzo 2010, 06:51 am »

Supongamos que tenemos esta función:
Código
  1. <?php
  2.  function replace_sh($strTexto){
  3.    echo str_replace(">","[No]",str_replace("<","[No]",$strTexto));//Resultado
  4.  }//End Function
  5. ?>

Ingresaria algo como esto...
Código:
<h1>Shell Root</h1>

El resultado seria esto:
Código:
[No]h1[No]Shell Root[No]/h1[No]

Como Fuck, se puede bypassear esa función, es una duda que tengo desde hace raton, y le pregunte a Tomi, y no me entendio... xD
« Última modificación: 10 Marzo 2010, 06:58 am por tooRllehS@xelA » En línea

Te vendería mi talento por poder dormir tranquilo.
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #1 en: 10 Marzo 2010, 07:07 am »

Hace un tiempo pregunté mas o menos lo mismo en el foro de whk y al parecer sería con javascript algo como
 
prueba.php?var=" onclick="alert(document.cookie)" algo mas no recuerdo xD
 
Pero se deben cumplir ciertos requisitos al mostrar la variable, también podría ser con onload, la verdad no entendí muy bien xD
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #2 en: 10 Marzo 2010, 07:17 am »

pues claro, todo depende como esté hecho el script, en que lugar pones esa función ya que así por si solo no impide xss si se encuentra dentro de un input o código javascript, etc debido a las comillas.
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #3 en: 10 Marzo 2010, 07:24 am »

Como me recomendaste esa vez mejor usar htmlspecialchars con ENT_QUOTES, aún asi sí quieres joder a los h4x0rs un rato podrías revisar la variable en busca de <, >, ' y " y lanzar un mensaje de "te estoy viendo eh!" ja ja ja
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #4 en: 10 Marzo 2010, 07:25 am »

Como es una simple duda, es una funcion comun y corriente, que recibe como parametro el string para mostrarlo en la pagina, quitandole caracteres como < y >, la funcion en general es así:

Código
  1. <?php
  2.  
  3.  function replace_sh($strTexto){
  4.    echo str_replace(">","[No]",str_replace("<","[No]",$strTexto));
  5.  }//End Function
  6.  
  7.  replace_sh("<h1>Shell Root</h1>");
  8.  
  9. ?>

Hay forma de bypassearlo y generar un XSS?
« Última modificación: 10 Marzo 2010, 07:29 am por tooRllehS@xelA » En línea

Te vendería mi talento por poder dormir tranquilo.
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #5 en: 10 Marzo 2010, 07:33 am »

Sí lo muestras derecho en la página nop, sí por ejemplo está en el value de un input o dentro de parámetros de alguna etiqueta html sip
 
Por ejemplo
 
replace_sh($var) no es vulnerable
 
<input type="text" value="'.replace_sh($var).'"> es vulnerable
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #6 en: 10 Marzo 2010, 07:50 am »

mmm es verdad, bastaria con esto para generar un XSS.

Código
  1. <?php
  2.  
  3.  function replace_sh($strTexto){
  4.    echo str_replace(">","[No]",str_replace("<","[No]",$strTexto));
  5.  }//End Function
  6.  
  7. ?>
  8.  
  9. <input type="text" value="<?php replace_sh(\"\"' onClick='alert(/XSS/);'"); ?>">

Interesante!  :silbar:

Entonces, definitivamente, no se puede generar un XSS mientras no este dentro de algo.
« Última modificación: 10 Marzo 2010, 07:53 am por tooRllehS@xelA » En línea

Te vendería mi talento por poder dormir tranquilo.
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #7 en: 10 Marzo 2010, 11:07 am »

y porque no usar htmlspecialchars? es nativo de php y cumple bien su función.

Ahora también hay temas relacionados con la codificación de documento como utf-7 pero eso ya es otro tema.
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #8 en: 10 Marzo 2010, 17:29 pm »

y porque no usar htmlspecialchars? es nativo de php y cumple bien su función.
Simon, pero como os dije al inicio, es una duda que tengo hace raton...

Ahora que entendí como es el bypasseo de la funcion str_replace(), con caracteres < y >. Ahora lo siguiente es incluir el caracter ". Así:
Código
  1. <?php
  2.  
  3.  function replace_sh($strTexto){
  4.    echo str_replace("\"","[No]",str_replace(">","[No]",str_replace("<","[No]",$strTexto)));
  5.  }//End Function
  6.  
  7. ?>

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

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

Que podria hacer en ese caso?
En línea

Te vendería mi talento por poder dormir tranquilo.
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Como bypassear función str_replace()?
« Respuesta #9 en: 10 Marzo 2010, 17:42 pm »

SQLi xD
 
Por sí acaso filtra la comilla simple también y los backslashes
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Puedo bypassear esta regla del SQUID?
GNU/Linux
TrashAmbishion 0 1,692 Último mensaje 9 Noviembre 2013, 20:08 pm
por TrashAmbishion
Se podra bypassear en VSB?
Scripting
softer2 7 3,750 Último mensaje 19 Julio 2014, 22:40 pm
por engel lex
XSS - Es posible bypassear los filtros por defecto de HTML5?
Seguridad
Schaiden 2 2,880 Último mensaje 11 Julio 2016, 03:46 am
por Schaiden
como usar str_replace para esto « 1 2 »
PHP
Pajarito434 10 5,060 Último mensaje 4 Enero 2017, 06:03 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines