Test Foro de elhacker.net SMF 2.1

Seguridad Informática => Bugs y Exploits => Hacking => Nivel Web => Mensaje iniciado por: Debci en 19 Julio 2010, 20:39 PM

Título: Bypass de un filtro XSS
Publicado por: Debci en 19 Julio 2010, 20:39 PM
Hola a todos estoy realizando una prueba de un wargame, y sospecho que hay que bypassearlo con xss, asi que me he puesto manos a la obra:

Introduzco en la caja de texto:
"\'<script>alert();</script>'\"

Y me devuelve:

\"\\\'<script>alert();</script>\'\\\"

Osea que tiene filtro.

Pero por mas que cierro comillas y abro e intento no hay manera de bypassearlo.

No he tocado mucho seguridad web, asi que agradeceria vuestra ayuda.
Que puedo probar? Pasarlo a Base64? Vi algo de un tio que metia las cadenas encriptadas y las ineterpretaba el servidor como instrución y conseguia injectarle codigo.

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: Shell Root en 19 Julio 2010, 21:55 PM
Pues si podrías darnos el link de donde estas haciendo el wargame, te ayudaríamos más fácil.
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 19 Julio 2010, 22:16 PM
Es el de la zapateria de www[dot]diosdelared[dot]com

De la seción newbie.

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: TapIt en 19 Julio 2010, 22:18 PM
Yo diría que es este http://warzone.elhacker.net/pruebas.php?p=24... si alguien puede dar alguna pista se agradecería porque yo estoi en las mismas.

Saludos  ;) !!
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 19 Julio 2010, 22:19 PM
No no es...
Título: Re: Bypass de un filtro XSS
Publicado por: TapIt en 19 Julio 2010, 22:21 PM
ya ya cuando lo e leido me dao cuenta pero bueno el caso es el mismo... :)
Título: Re: Bypass de un filtro XSS
Publicado por: Shell Root en 19 Julio 2010, 22:23 PM
No he visto el de la 'Zapateria' jojojojo ni siquiera lo tengo. xD
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 19 Julio 2010, 22:24 PM
Cita de: TapIt en 19 Julio 2010, 22:21 PM
ya ya cuando lo e leido me dao cuenta pero bueno el caso es el mismo... :)
No lo es porque esa es muchisimo mas faicl, yo mismo la he pasado.

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: TapIt en 19 Julio 2010, 22:26 PM
pues nada seguire intentandolo.. jajaja
Título: Re: Bypass de un filtro XSS
Publicado por: ~ Yoya ~ en 20 Julio 2010, 00:17 AM
lo que veo es que escapa las comillas simples y dobles con barras invertidas xD, al parecer tiene la directiva  Magic_quotes_gpc ON o usa la funcion addslashes() (http://php.net/manual/es/function.addslashes.php)...

Aunque nose porque tu mismo escapas las comillas, algo raro no xD
Citar"\'<script>alert();</script>'\"
Título: Re: Bypass de un filtro XSS
Publicado por: KaozC9 en 20 Julio 2010, 01:59 AM
Ando con la misma duda, he intentado muchas cosas, pero ya veremos que resulta
Título: Re: Bypass de un filtro XSS
Publicado por: D4r10xHCx en 20 Julio 2010, 04:21 AM
http://ha.ckers.org/xss.html ?¿
capas te sirve
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 20 Julio 2010, 09:52 AM
Cita de: ~ Yoya ~ en 20 Julio 2010, 00:17 AM
lo que veo es que escapa las comillas simples y dobles con barras invertidas xD, al parecer tiene la directiva  Magic_quotes_gpc ON o usa la funcion addslashes() (http://php.net/manual/es/function.addslashes.php)...

Aunque nose porque tu mismo escapas las comillas, algo raro no xD
Citar"\'<script>alert();</script>'\"
XD porque ya harto de probar y no saber que hacerle ya...
Alguna recomendación?

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: KaozC9 en 21 Julio 2010, 01:34 AM
el terreno es este, esta como si fuese un
Código (php) [Seleccionar]
<? echo addslashes(htmlentities($mensaje)); ?>
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 21 Julio 2010, 09:52 AM
Cita de: KaozC9 en 21 Julio 2010, 01:34 AM
el terreno es este, esta como si fuese un
Código (php) [Seleccionar]
<? echo addslashes(htmlentities($mensaje)); ?>
Y aunque intente cosas como:
Código (php) [Seleccionar]
'" style="a:b;margin-top:-1000px;margin-left:-100px;width:4000px;height:4000px;display:block;" onmouseover=alert(1); a="'
'" onmouseover=alert(1) a="'
'"><script>alert(1)</script><'


No funciona :S
Y es lo que sugiere el siguiente post para bypassear el addslashes:

http://r00tsecurity.org/forums/topic/9924-workaround-strip-tags-and-addslashes-in-the-xss/ (http://r00tsecurity.org/forums/topic/9924-workaround-strip-tags-and-addslashes-in-the-xss/)

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: cgvwzq en 21 Julio 2010, 14:04 PM
Si lo que hace es simplemente escapar las comillas simples y dobles (con barra invertida), no tiene mayor dificultad:

" onevent=foo() tr="

"><script>foo()</script><a tr="

Si eso no funciona, es que hace algo más... Si pegas el cacho de html entero, igual lo veo mejor.
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 21 Julio 2010, 15:05 PM
Eso hice yo en un principio pero nada :s
La pagina del reto es esta:

http://www[.]diosdelared[.]com/home/retos/competencia/cassini/

Tienes que hacer que la zapateria cassini redirecione a otra URL, automaticamente.

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: Shell Root en 21 Julio 2010, 18:19 PM
Pero es que se necesitaría saber el entorno en el que se trabaja. Por ejemplo, supongamos que sea como lo dice KaozC9, pero en que ámbito se muestra/imprime el valor.
Código (php) [Seleccionar]
<html>
<body>
   <form action="index.php" method="GET">
      <input type="text" name="txtPoC" />
      <input type="submit" value="Enviar" />
   </form>
   <?php # Bypassing de filtro
      
echo "<input name='txtResult' value='".addslasheshtmlentities$_GET['txtPoC'] ))."' />";
   
?>

</body>
</html>

Se podría fácilmente bypassear como lo dice el LINK que pusisteis.
Código (PoC) [Seleccionar]
' onmouseover=alert(1) a='
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 21 Julio 2010, 18:47 PM
Cita de: Shell Root en 21 Julio 2010, 18:19 PM
Pero es que se necesitaría saber el entorno en el que se trabaja. Por ejemplo, supongamos que sea como lo dice KaozC9, pero en que ámbito se muestra/imprime el valor.
Código (php) [Seleccionar]
<html>
<body>
   <form action="index.php" method="GET">
      <input type="text" name="txtPoC" />
      <input type="submit" value="Enviar" />
   </form>
   <?php # Bypassing de filtro
      
echo "<input name='txtResult' value='".addslasheshtmlentities$_GET['txtPoC'] ))."' />";
   
?>

</body>
</html>

Se podría fácilmente bypassear como lo dice el LINK que pusisteis.
Código (PoC) [Seleccionar]
' onmouseover=alert(1) a='
Yo tampoco puedo saber el entorno porque es un wargame, si puediese descargarlo lo haria pero no puedo.

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: KaozC9 en 21 Julio 2010, 19:33 PM
Yo creo que el entorno es como digo [aunque al reves, me corrijo... htmlentities(addslashes())
], pero no se puede bypassear como dices Shell Root porque el codigo fuente es asi

Código (html4strict) [Seleccionar]

<div id="stuff">
<center>
<img src=images.jpg><br>
<br>
___________________________________________________<br>
<a href=#>Nicolas:</a><br>
Quiero comprar zapatos al por mayor, espero su respuesta.<br>
___________________________________________________<br>
<a href=#>Juan:</a><br>
Estos zapatos si que molan, no como los de Leonpole.<br>
___________________________________________________<br>
<a href=#>Pedro:</a><br>
Me encataron los zapatos, gracias.<br>
___________________________________________________<br>
<a href=#>Don Leonpole:</a><br>
Leonpole es el mejor!! Estos zapatos son muy malos.<br>
___________________________________________________<br>
<br>
Deje su mensaje:
<form method=post>
Su nombre:<br>
<input name=nombre type=text><br>
Su web:<br>
<input name=mensaje type=text><br>
Su mensaje:<br>
<input name=mensaje2 type=text><br>
<input type=submit value=enviar>
</form>
</div>


Cuando se postea algo, queda asi

Código (php) [Seleccionar]

<? echo '___________________________________________________<br>
<a href="http://ddlr.servepics.com/rd.php?go='.htmlentities(addslashes($_POST["mensaje"])).'">'.htmlentities(addslashes($_POST["nombre"])).'</a><br>'.htmlentities(addslashes($_POST["mensaje2"])).'<br>
___________________________________________________<br>';


Resultado:
" -> \&quot;
' -> \'
< -> &lt;
> -> &gt;
& -> &amp;

al colocar solo la cremilla doble seria
Código (html4strict) [Seleccionar]
<a href="http://ddlr.servepics.com/rd.php?go=\&quot;">\&quot;</a><br>\&quot;<br>

A todo esto, debci, estoy en el puesto 99 y tu?
Título: Re: Wargame -> Bypass de un filtro XSS
Publicado por: ~ Yoya ~ en 21 Julio 2010, 19:52 PM
este POST debería cerrarse, me imagino que no lo han cerrado por el titulo....
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 21 Julio 2010, 19:58 PM
He pasado 3 pruebas tan solo, para mi que faltan datos en muchas xD Por ejemplo la de la lista de usuarios, esa no hay cataplines a hacer nada, si meto una comilla pasa algo raro no mas.

LO del filtro xss, no se puede hacer entonces? Porque yo ya no conozco mas métodos.

Saludos
Título: Re: Bypass de un filtro XSS
Publicado por: KaozC9 en 21 Julio 2010, 20:06 PM
yo tampoco sé que más hacer, estoy que le pido ayuda a W0rm xd y la de la lista de usuarios, solo sé que al hacer esto
http://www.***********.com/home/retos/usuarios/index.php?id='
muestra
/home2/users/web/tupaginita/tupaginita.com/docs/public_html
un supuesto FPD pero más alla de eso, ni idea
Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 21 Julio 2010, 20:07 PM
Cita de: KaozC9 en 21 Julio 2010, 20:06 PM
yo tampoco sé que más hacer, estoy que le pido ayuda a W0rm xd y la de la lista de usuarios, solo sé que al hacer esto
http://www.***********.com/home/retos/usuarios/index.php?id='
muestra
/home2/users/web/tupaginita/tupaginita.com/docs/public_html
un supuesto FPD pero más alla de eso, ni idea

Lo mismo que yo xDDD

Y que pruebas has pasado?

Saludos