Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ‭lipman

#491
Cita de: 08l00D en 26 Mayo 2011, 22:46 PM
Mi pregunta es .. ¿Que ganarias vos publicando eso?
Osea si encontras una vulnerabiliad importante tenes dos caminos..
1.- Mandarte cagadas, y sacar provecho...
2.- Comunicarselos a los Sysadmin de dicho sistema.. y/o ayudar a corregir el problema..

A mi se me da que tu mensaje va por el lado de ... "Encontre una super vulnerabilidad soy un superkaker blablabla.."..

Si hay datos delicados de terceros en juego, te recomendaria que no lo publiques porque solo estarias jodiendo a la gente, solo por recibir un poco de reconocimiento por internet..

WAT?

No sé si me has leido lo que he puesto, pero repito: he contactado con el jefe del GDT y con la compañia, y pasan de mi. No me creo "superkaker" ni nada, simplemente estoy diciendo que encontré una vulnerabilidad (un conjunto) muy grave y he pedido consejo .__.
#492
La cosa es que me gustaria publicarlo una vez esté arreglado.. pero no lo arreglan, y quitando todo lo demás, me gustaria que lo arreglaran, ya que pone en peligro a miles de personas, por ello que contacté incluso con el GDT.

Me gustaria seguir intentando insistir en que lo arreglen, sin embargo pasan de mi culo, o eso parece. Incluso podria intentar hablar con el jefe de algun jefe de algun jefe, intentando llegar alto para que me oigan, o demostrar de alguna manera que es algo superserio.

=S
#493
Muy buenas a todo el mundo que quiera leer.

Hace semanas, unas cuantas.. descubrí una vulnerabilidad XSS en una página importante (de una multinacional, todos hemos oido hablar de ella, prefiero no dar nombres), pero no me quedé ahi.. seguí investigando. Descubrí que tiene un sistema de logue totalmente inseguro, no solo eso, si no que es explotable y demás.

He contactado con ello, me dijeron que lo arreglarian. No han hecho nada.
También le envié un mensaje al GDT (grupo de delitos telemáticos) y tuve el placer de hablar con Juan Salóm por teléfono durante un ratejo, comentándole este tema, diciéndole que empresa era, y donde estaba el fallo, incluso posteriormente les mandé otro mensaje detallando con total exactitud todo. Siguen sin haber arreglado nada.
Tambien incluso twitteé un poco con Chema Alonso y el twitter de SecByDefault (de ahi me dieron la idea de denunciar).

Sin duda, me gustaria publicar esta vulnerabilidad, que más que vulnerabilidad, lo convertiria como en un análisis de seguridad hacia esa página, ya que tendria mucho de qué hablar.

El caso es que tengo un poco de miedo: si contacté con el GDT es porque creo que, como dije anteriormente, hablo de una multinacional: juega con datos privados importantes básicamente.

Sabeis de algún caso similar que haya tenido repercusiones negativas? Creeis que podria pasarme algo? Que hariais vosotros?

La verdad que lo fácil es decir que no diga nada, pero no he estado parando de darle vueltas durante toodas estas semanas, y además de por el simple hecho de ser algo importante.. estoy muy a favor de reportar una vulnerabilidad y posteriormente publicarla. El caso es que es bastante explotable (a mi parecer) y no sé que repercusiones podria traer.
#494
Estoy interesado en saber si existe alguna manera, ya sea con algún programa o incluso de alguna manera lógica (no se me ocurre ninguna.. pero tampoco es que esté muy familiarizado con la criptografia) de obtener el patron con el que se encriptan ciertas cadenas.

Es decir, tengo el hash y tengo la cadena cifrada, y quisiera saber cómo se cifra. Supongo que usa MD5, ya que son 32 caracteres hexadecimales, aunque no lo hace directamente, es decir, que no hace md5(cadena). Podria meter basura, quien sabe.

La cosa es que puedo tener tantos conjuntos de hash-cadena cifrada como quiera, la cosa es que no sé como empezar a analizarlos o si esto ya de por si es algo "imposible".

Alguna idea de por donde empezar a atacar el problema?

Un saludo!
#495
Cita de: dantemc en 20 Mayo 2011, 00:13 AM
si pones agua en un recipiente metálico y lo expones al fuego, el agua se calienta.

Lisa Simpson es una niña de mi cole.
#496
En efesto. Muchísimas gracias, me solucionaste el problema por completo =)
#497
Vale vale, me he liado y no me he fijado en eso, de ahí viene esa incongruencia tan rara =S

Lo que yo queria hacer (ahora entenderás el porqué del bucle while) era que, desde la primera funcion a la que llamas, haga un bucle de, en este caso, tres veces, ejecutando la funcion segunda tres veces en total. Esta funcion segunda es la que se encarga de tomar los datos. De esta manera, si tengo un array gente[3] (como tu dices, del 0 al 2), quisiera pasarle a la segunda funcion cada vez un valor distinto, para que al final de la llamada a la segunda función, tras recoger todos los datos, me quedase lo siguiente de forma esquemática:

gente[0].tlfn = "lo que sea"
gente[0].dir = "lo que sea"
gente[1].tlfn = "lo que sea"
gente[1].dir = "lo que sea"
gente[2].tlfn = "lo que sea"
gente[2].dir = "lo que sea"

Y de esta manera, desde la función principal poder usar cualquier dato. Creo que ahora si que me he explicado bien xD, pero claro, lo que no puedo hacer es lo siguiente:

while(i<3){
  escribir(f[i]);
  i=i+1;
}


O igual si que puedo hacerlo, pero tengo que cambiar la estructura de la función escribir: ahí mi duda.

Muchas gracias, un saludo!
#498
Muchas gracias! Ya poco a poco estoy más cerca de la solución, pero todavia le falla algo. Aquí dejo el código completo de momento:

#include<stdio.h>

struct contacto {
  char tlfn[10];
  char dir[51];
};

//Prototipo
void probar(struct contacto *f);
void escribir(struct contacto *f);

int main(){
  struct contacto gente[3];
  probar(&gente[3]);
  return 0;
}

void probar(struct contacto *f){
int i=0;

while(i<3){
  escribir(f);
  i=i+1;
}

}

void escribir(struct contacto *f){

printf("Introduce el telefono: ");
gets(f->tlfn);
printf("Introduce la direccion: ");
gets(f->dir);

}


Este código compila (te sale el warning de la funcion gets pero no es problema). El error viene cuando lo voy a ejecutar: hace los tres bucles pidiendome tres veces los datos, los introduzco, y justo despues, en lugar de terminar sin decirme nada, me salta con un: "violacion del segmento ('core' generado)"

El problema no es del gets, porque lo he cambiado por unos respectivos bucles usando el getchar con lectura adelantada para que compile sin warnings y recogiendo la información usando otra alternativa y termina exactamente igual.

¿Que puede pasar?

Un saludo y gracias!
#499
Voy a replantear el problema de otra forma, igual así alguien me puede ayudar de otra manera >.<

Tengo el siguiente código que funciona correctamente:

#include<stdio.h>


struct contacto {
  char tlfn[10];
  char dir[51];
};

//Prototipo
void probar(void);
void escribir(struct contacto *f);

int main(){
  probar();
  return 0;
}


void probar(void){
int i=0;
struct contacto gente[3];

while(i<3){
  escribir(&gente[i]);
  i=i+1;
}

}

void escribir(struct contacto *f){

printf("Introduce el telefono: ");
gets((*f).tlfn);
printf("Introduce la direccion: ");
gets((*f).dir);

}


Explicación breve:
La función principal llama a una funcion que define unas estructuras y mediante un bucle va rellenándolas. Si dentro de la primera función pusiera otra que se encargase de leer lo que he introducido, lo leeria perfectamente. El problema es que la estructura que he escrito la quiero en el int main, y no tengo ni idea de cómo llamarla.

Alguna idea?
#500
Mi objetivo es crear un sistema básico que en una función, teniendo un limite, esté añadiendo contactos a una tabla.

La cosa es que no entiendo porqué no me funciona lo siguiente:

#include<stdio.h>
#define LIMITE 3



struct contactos {

  char telefono[10];

  char descripcion[51];

};

//Prototipos:
int almacenaContacto(struct contactos *f);
void leerContacto(struct contactos *f);

int main(){ //INICIO PROGRAMA

int variable;

struct contactos gente[LIMITE];



variable=almacenaContacto(&gente);




return 0;

} //FIN PROGRAMA

int almacenaContacto(struct contactos *f){


int i=0;

  while(i<LIMITE){

  leerContacto(&(*f)[i]);

  i=i+1;

  }
}

//Nota: la funcion leerContacto funciona correctamente: recibe un parámetro struct y me permite ir añadiendo contacto a contacto

La parte que empieza a dar problemas en el programa es la de "leerContacto(&(*f)[ i]);", es decir, que podria concluir diciendo que:

Tengo un programa principal y en el tengo un struct en el que quiero que vayan un determinado numero de elementos. Llamo a una funcion para que haga el bucle y vaya uno a uno, y a su vez, esta función llama a otra que se encarga individualmente de meter los datos en cada una. Mi error se encuentra justo aquí al final, que no se porqué, no consigo hacer referencia a cada parte en el bucle.

Alguna idea?

Un saludo