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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: 1 [2]
11  Seguridad Informática / Nivel Web / Inyeccion via post en: 12 Junio 2010, 17:57 pm
Hola, mi duda es sencilla y clara.

[CONTEXTO]
Existe cierto formulario vulnerable a una inyección sql en un parametro de tipo string, de manera que la web te muestra el error devolviendo la cadena problematica.

Es decir, tenemos un flanco para explotar un XSS. El problema viene porque para que la cadena se muestre se debe insetar una comilla simple, no puede ir urlencodeada, tiene que ser una comilla, pq obviamente, al estar url-encodeada el error SQL no salta... He aquí mi pregunta

[PREGUNTA]

  • como puedo hacer un formulario de manera que la petición no se codifique?
  • Existe alguna manera de explotar este flanco que no sea de manera local (por ejemplo con live http headers)?

Un saludo y gracias :]
12  Seguridad Informática / Nivel Web / 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 :)



13  Seguridad Informática / Hacking / Haciendonos Invisibles en: 26 Marzo 2010, 13:28 pm
[Antes de nada, no tengo muy claro la correcta colocación de este post, dado que su finalidad es de Hacking lo he decidido colocar aquí pese a ser un post mayoritariamente de código]

Siempre que entramos en máquinas ajenas a través de internet nos interesa pasar desapercibidos, normalmente esto se consigue haciendo una suplantación de los "logs" y demás archivos de registro, pero comúnmente puede darse el caso en que en el momento de entrada en una máquina esté logueado el anfitrión de ésta. Muy probablemente si tiene algo de idea ejecutará diversas herramientas para comprobar el estado de sus conexiones a fin de detectar al intruso.
Bien, una de estas herramientas y la más conocida ( me atrevería a decir ) es el famoso "netstat", que nos lista las conexiones de nuestra máquina atendiendo a una serie de parámetros introducidos. Aquí es donde nos interesa entrar, ¿cómo podríamos evitar que se liste, por ejemplo, nuestra IP?, pues la respuesta más sencilla es modificando el ejecutable en sí.

Estuve buscando por la red si existía alguna versión del netstat ya modificada, pero tan solo encontré versiones para windows que no terminan de satisfacerme pues solo incluían algunas opciones, así que decidí codearme una propia, multiplataforma además xD. Dado que no soy demasiado hábil en esto de la programación no espereis una maravilla, es algo sencillito pero útil :]

http://pastebin.com/BXrTCFEU

el mecanismo es muy sencillo, redirige la salida del netstat a un archivo, y va buscando en cada línea de éste la aparición de nuestra cadena prohibida, en este ejemplo nuestra IP, en caso de no aparecer se imprime la línea tal cual ( si aparece no ). Despues borra el archivo temporal. Para poder hacer uso de esta herramienta es necesario suplantar el netstat original, así que lamentablemente necesitaréis privilegios de root(en linux). No he tenido el placer de probarlo en windows, pero debería funcionar igual jaja.

Un saludo y comentad/corregid/criticad y un largo etcera de -ad. :)
14  Seguridad Informática / Nivel Web / Duda en Blind SQLi en: 8 Marzo 2010, 18:39 pm
Buenas! Traigo una consulta sobre el tema que indica el titulo, las BSQLi

Segun veo en los manuales sobre este tema la manera de comprobar si es vulnerable o no, es por ejemplo:

web?valor=3 and 1=1        <- muestra
web?valor=3 and 1=0        <- no muestra (es decir muestra '0' dnd debería ir el valor)


bueno, pues encontré una página que segun la "teoria" es vulnerable a este tipo de injecciones, pero no se si es por que utiliza algun tipo de BDD que no conozco o lo que sea, pero cualkier tipo de instruccion que le pongo rollo
Código
  1. web?valor=3 and (SELECT Count(*) FROM users)
no es que no muestre el valor, es que la página no carga, como si la sentencia SQL fuese incorrecta.

No se si esto se debe a que la BDD como he dicho anteriormente no es MySQL.. puede ser, alguien sabría decirme como discriminar el tipo de motor que usa? Alguna sugerencia para comprobar si realmente es vulnerable? códigos a usar? cualkier sugerencia, o referencia a otro lugar me vale


un saludo y gracias =)
15  Seguridad Informática / Nivel Web / Php injection en: 23 Febrero 2010, 00:38 am
Huuula, bueno, dada la pericia de los peogramadores de mi facultad, e descubierto una vulnerabilidad de tipo php injeciton, mediante un eval($_GET["x"]);

si...son así de habiles allí.... ell caso, esk que para continuar con su nivel tiene actividas las magic quotes con lo que no puedo ahcer por ejemplo     ?x=system("ls -la");       porque me escapa las comillas...

de hecho estoy muy limitado en el uso de comandos puesto que la funcion system recibe una cadena y tal y cual. Por favor sugerencias? algun tipo de bypassing?


Gracias por adelantado :)

pD: tambien me serían útiles algunos comandos (linux) que puedan ser escritos en una sola palabra, es decir sin espacios :)
16  Seguridad Informática / Hacking / Problema con ettercap y ip.forwarding en: 10 Noviembre 2009, 18:09 pm
Hola, vereis, despues de hacer el attack MitM y ejecutar el arp poisoning, logro interceptar el tráfico entre el host y el router, pero mi mákina ( ubuntu 9.10 ) no consigue reenviar el tráfico...

Tomen en cuenta la siguiente informacion:

Código:
cat /proc/sys/net/ipv4/ip_forward

me devuelve 1

en /etc/sysctl.conf
descomenté la siguiente linea ( para hacer el cambio permanente )

Código:
net.ipv4.ip_forward=1

a pesar de ello, cada vez que reinicio el pc, "cat /proc/sys/net/ipv4/ip_forward"  me devuelve 0 y tengo k ponerlo a 1 manualmente...


realmente estoy empezando con esto y me he quedado sin opciones, puesto que un ataque mitm que realice un Dos tiene poco sentido si lo que quiero es interceptar el trafico jaja


Un saludo =)
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines