Foro de elhacker.net

Seguridad Informática => 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:
Código:
"\'<script>alert();</script>'\"

Y me devuelve:

Código:
\"\\\'<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
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
Código:
"\'<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
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
Código:
"\'<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
  1. <? echo addslashes(htmlentities($mensaje)); ?>


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

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:

Código:
" onevent=foo() tr="

Código:
"><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
  1. <html>
  2. <body>
  3.   <form action="index.php" method="GET">
  4.      <input type="text" name="txtPoC" />
  5.      <input type="submit" value="Enviar" />
  6.   </form>
  7.   <?php # Bypassing de filtro
  8.      echo "<input name='txtResult' value='".addslashes( htmlentities( $_GET['txtPoC'] ))."' />";
  9.   ?>
  10. </body>
  11. </html>
Se podría fácilmente bypassear como lo dice el LINK que pusisteis.
Código
  1. ' onmouseover=alert(1) a='


Título: Re: Bypass de un filtro XSS
Publicado por: Debci en 21 Julio 2010, 18:47 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
  1. <html>
  2. <body>
  3.   <form action="index.php" method="GET">
  4.      <input type="text" name="txtPoC" />
  5.      <input type="submit" value="Enviar" />
  6.   </form>
  7.   <?php # Bypassing de filtro
  8.      echo "<input name='txtResult' value='".addslashes( htmlentities( $_GET['txtPoC'] ))."' />";
  9.   ?>
  10. </body>
  11. </html>
Se podría fácilmente bypassear como lo dice el LINK que pusisteis.
Código
  1. ' 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
  1. <div id="stuff">
  2. <img src=images.jpg><br>
  3. <br>
  4. ___________________________________________________<br>
  5. <a href=#>Nicolas:</a><br>
  6. Quiero comprar zapatos al por mayor, espero su respuesta.<br>
  7. ___________________________________________________<br>
  8. <a href=#>Juan:</a><br>
  9. Estos zapatos si que molan, no como los de Leonpole.<br>
  10. ___________________________________________________<br>
  11. <a href=#>Pedro:</a><br>
  12. Me encataron los zapatos, gracias.<br>
  13. ___________________________________________________<br>
  14. <a href=#>Don Leonpole:</a><br>
  15. Leonpole es el mejor!! Estos zapatos son muy malos.<br>
  16. ___________________________________________________<br>
  17. <br>
  18. Deje su mensaje:
  19. <form method=post>
  20. Su nombre:<br>
  21. <input name=nombre type=text><br>
  22. Su web:<br>
  23. <input name=mensaje type=text><br>
  24. Su mensaje:<br>
  25. <input name=mensaje2 type=text><br>
  26. <input type=submit value=enviar>
  27. </form>
  28. </div>
  29.  

Cuando se postea algo, queda asi

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

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

al colocar solo la cremilla doble seria
Código
  1. <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
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