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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Ético
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  XSS diferentes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: XSS diferentes  (Leído 4,385 veces)
tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
XSS diferentes
« en: 30 Marzo 2010, 13:14 pm »

[DISCLAIMER]Este texto no pretende redescubrir América, ni ningún otro continente ya conocido, seguramente muchos de vosotros que leáis ya conoceréis esta técnica, así que este texto texto va dirigido a la gente que se inicie en este mundo [/DISCLAIMER]

XSS

La mayoría de nosotros cuando oímos XSS automáticamente pensamos en buscadores y en contenido pasado por peticiones de tipo GET, pensamos en cerrar etiquetas con "> y en inyectar código. Pero muchas veces se nos olvida que tan solo es necesario un
Código
  1. echo variable
para que empiece la mágica. (o funciones similares que retornen lo introducido, como veremos a continuación )
A veces esto es más sencillo de lo que parece. La mayoría de los motores de bases de datos están configurados para, por defecto, devolver el error producido...es decir nos dan un echo de lo que hayamos introducido, eureka!. Podemos aprovecharnos de este hecho para introducir nuestro XSS favorito.

Supongamos que tenemos este php que se conecta a la BDD y retorna ciertos valores:

Código
  1. <?php
  2. $host = 'localhost';
  3. $dbuser = 'user';
  4. $dbpass = 'password';
  5. $dbname = 'dbname';
  6. $db = mysql_connect($host, $dbuser, $dbpass);
  7.  
  8. echo "<p><h1>Prueba de uso de mysql para generar XSS</h1></p>";
  9.  
  10. if( isset($_GET['id'])  ){
  11. mysql_select_db($dbname,$db);
  12. $sql = "SELECT * FROM tabla WHERE id=".$_GET['id'];
  13. $query = mysql_query($sql) or die (mysql_error()); //<- ahi la magia :)
  14.  
  15. $result=@mysql_fetch_row($query);
  16.  
  17. echo "<h2><center>SQL XSS injection<br>Ejemplos<br><br>";
  18.  
  19. for($i = 0; $i < count($result); $i++){
  20. echo "<font color='#FF0000'>Campo: </font>".$i."<font color='#FF0000'> Valor: </font>".$result[$i]."<br>";
  21. }
  22.  
  23. echo "</h2></center>";
  24.  
  25. die();
  26. }else{
  27. echo "<center> Funcionamiento:   sql.php?id=consulta ";
  28. }
  29. ?>
  30.  
  31.  

de esta manera si insertamos
Código
  1. sql.php?id=3'"><h1>Hola!</h1>
la consulta nos devolverá algo así como:



________________________________________________________________________________________________________________
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''">
Hola!
' at line 1

________________________________________________________________________________________________________________

En esta página lo que produce la magia es la funcion mysql_error() que como habeis visto devuelve la cadena que produjo el fallo.
Es decir, hemos conseguido lo que queríamos. En webs en las cuales no podamos tirar de el tipico buscador resulta un buen flanco de ataque este tipo de técnicas.


Sin más, termino, como siempre, abierto a sugerencias/correcciones/criticas y demás-es :)



En línea

Colaboraciones:
1 2
xassiz_

Desconectado Desconectado

Mensajes: 273


Ich werde dich töten..


Ver Perfil WWW
Re: XSS diferentes
« Respuesta #1 en: 30 Marzo 2010, 14:37 pm »

Está bien, pero en esos casos es más grave la inyección de sentencias SQL que nó código que se ejecute del lado del cliente  ;D
En línea



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
Re: XSS diferentes
« Respuesta #2 en: 30 Marzo 2010, 15:49 pm »

es que no tiene porqué repercutir en una inyección SQL, producir fallos en la sentencia no es lo mismo que introducir valores, además puede que de darse la ineyeccion los datos estén codificados.

en caso de por ejemplo los passwords estar codificados, quizá interese un session hijacking
En línea

Colaboraciones:
1 2
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: XSS diferentes
« Respuesta #3 en: 30 Marzo 2010, 16:00 pm »

Es por eso que mysql_error(); nunca debe usarse en un sistema público, asi mismo, siempre es recomendable usar al principio de un documento php un error_reporting(0);
 
Básicamente inyectas el error :)
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: XSS diferentes
« Respuesta #4 en: 30 Marzo 2010, 20:16 pm »

XSS diferente, eso no es, a eso muchos le llamas html inyeccion, porque de la misma manera que ejecutas HTML inyeccion, puedes inyectar javascript, osea es lo mismo.
En línea

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.
tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
Re: XSS diferentes
« Respuesta #5 en: 30 Marzo 2010, 21:06 pm »

Yoya, segun tu eso es html injection y no XSS?

eres capaz de razonar el porque y las diferencias entre ellos porfavor? =)

gracias y un saludo!
En línea

Colaboraciones:
1 2
xassiz_

Desconectado Desconectado

Mensajes: 273


Ich werde dich töten..


Ver Perfil WWW
Re: XSS diferentes
« Respuesta #6 en: 30 Marzo 2010, 22:40 pm »

"HTML injection" es como se le llama a un XSS estático.

O eso creo
En línea



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
Re: XSS diferentes
« Respuesta #7 en: 30 Marzo 2010, 23:12 pm »

"HTML injection" es como se le llama a un XSS estático.

O eso creo

de ser así, éste tema de "estático" tiene poco :/

no se por qué dijo que esto no era XSS la verdad... me tiene en ascuas xD
En línea

Colaboraciones:
1 2
fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: XSS diferentes
« Respuesta #8 en: 31 Marzo 2010, 00:15 am »

aclaramos la situacion:


html injection es lo mismo que xss, que significa HTML incrustado, tambien conocido como cross site scripting.


no hay diferencias entra html injection y xss.

ahora lo de xss distinto, osea no es distinto, es un xss igual salvo que uno es directo y otro indirecto  :xD

saludos!
En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.707


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: XSS diferentes
« Respuesta #9 en: 31 Marzo 2010, 00:22 am »

Todo el problema viene de este POST!, aunque no le veo el problema yá que especifica lo mismo que todos han dicho.

XSS diferente, eso no es, a eso muchos le llamas html inyeccion, porque de la misma manera que ejecutas HTML inyeccion, puedes inyectar javascript, osea es lo mismo.


Más bien, creo que tragantras, no interpreto bien, lo que dijo Yoya:silbar:
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Los 16 diferentes orgasmos.
Foro Libre
MaeDeSono 7 1,995 Último mensaje 19 Enero 2012, 18:37 pm
por d(-_-)b
Consulta php en diferentes div « 1 2 »
PHP
moskita789 10 4,163 Último mensaje 18 Enero 2013, 01:16 am
por moskita789
agregar diferentes arraylist a diferentes jlist
Java
manuhendrix 0 2,283 Último mensaje 20 Febrero 2013, 17:09 pm
por manuhendrix
¿tor vs i2p vs freenet son diferentes deep web?
Foro Libre
bacanzito 2 4,944 Último mensaje 24 Septiembre 2013, 23:43 pm
por daryo
Diferentes Sub Paginas
PHP
::: Devil ::: 6 2,193 Último mensaje 6 Abril 2015, 22:23 pm
por ::: Devil :::
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines