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)


  Mostrar Temas
Páginas: [1] 2
1  Programación / Scripting / Dropear un paquete especifico, antes de que salga del equipo con python en: 24 Junio 2018, 15:46 pm
Buenas a todos.

Os cuento mi problema, estoy intentado capturar un paquete HTTP especifico enviado por el explorador hacia una web, para modificar el contenido antes de ser mandado.

Por ahora lo que se me ha ocurrido es intentar filtrarlo con iptables en mi equipo y una vez que lo haya sniffeado con la librería de scapy de python, mandarlo con la modificación del contenido.

El problema es que no quiero filtrar todos los paquetes hacia esa web, solo uno. Así que mi pregunta es ¿Cómo puedo realizar filtrados mas específicos con iptables que no sean el típico de dirección destino y puerto? y también ¿a alguien se le ocurre otra forma de dropear el paquete y re-inyectarlo con una modificación?
2  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / los nck de los servidores imei en: 24 Julio 2016, 19:57 pm
Buenas a todos,

Hace poco me picó la curiosidad de las distintas formas de liberar un móvil por imei, y finalmente me he topado con los servidores imei los cuales alquilas y te proporcionan los códigos de liberación de multitud de móviles y compañías.

Mi pregunta es ¿cómo hacen dichos servidores para obtener estos códigos?, ¿generadores de códigos? ¿los compran a otras entidades o compañías?.
3  Seguridad Informática / Hacking / Escaneo alternativo a icmp tanto v4 como v6 en: 6 Junio 2016, 11:31 am
Buenas a todos.
Estoy haciendo pruebas con distintas redes y me he tomado con una router que filtra los paquetes Icmp echo reply and echo response. Y me preguntaba si hay alguna otra forma de descubrir que equipos están activos en la red.
4  Sistemas Operativos / GNU/Linux / Debian sobre Ubunto conjunto a Windows en: 11 Febrero 2016, 10:12 am
Buenas.
Soy usuario de windows desde hace tiempo, aunque hace unas semanas hice una partición en mi disco duro para instalar Ubuntu en conjunto a windows por necesidad en mis estudios, pero tengo ciertos problemas a la hora de trabajar con la tarjeta de red por lo que he decidido instalar el S.O. Debian. Mi duda es que si puedo formatear la partición de Ubuntu e instalar Debian sin dañar la partición de windows y en caso de que si ¿Cómo podria hacerse?, ¿Simplemente formateando la particion de Ubuntu desde windows e instalando ahí Debian?
Muchas gracias.
5  Seguridad Informática / Hacking Wireless / Proteccion en el WPS en: 28 Agosto 2015, 21:22 pm
Alguien sabe donde puedo encontrar el funcionamiento de la protección que tienen los router onoxx, orangexx, vodafonexxx cuando le realizas un ataque al wps?
6  Seguridad Informática / Criptografía / Cifrado de contraseñas en la base de datos en: 16 Agosto 2015, 17:12 pm
hola buenas me gustaría saber si hay alguna forma de sin saber el tipo de criptografía que se ha utilizado y descifrar una contraseña sin el uso de un diccionario pongo el ejemplo con aquello con lo que me he topado

Password (cada linea es una contraseña distinta)                        

0024e01395b92cc6c185667b912a3831
00b596fced829e7d6b57e1c9cfbfe7b6
0c11d6a974a87e99ca8c793472da527b
119c4b283a992e1dd4be7df8cdcf1dc7
1fdf4ecbfeaea6128a9e6b465d021b48
2990fd71fec0cfbf712bca1289be4ae4
2d474e1247df7780c27862e6d0918d4e
325a090573062a663cf886c1bc892cb3
5c2b413c604e6fe4d3eba979446f4b43


aviso de que no me he puesto a estudiar criptografia pero me gustaría saber al menos si lo que pido es imposible o existe alguna forma
7  Programación / Java / Aplicacion de autentificacion con DNI en: 18 Abril 2015, 20:47 pm
Buenas tengo un ligero problema, aqui lo presento:
A ver estoy haciendo una aplicación que mediante el dni electrónico se registre en un servidor en php, mi duda es que una vez que establezco la conexión con el servidor php mediante una conexión http como consigo obtener el valor de autentificado=false o true en mi aplicación java (este valor de autentificado=false esta dentro de mi pagina php).
8  Programación / Programación C/C++ / Ayuda Vectores Dinámicos en: 8 Octubre 2014, 14:04 pm
Buenas era por si alguien me podría poner algún ejemplo en la utilización de vectores dinámicos sencillos en C++. Gracias
9  Seguridad Informática / Bugs y Exploits / exploit Heartbleed en: 10 Abril 2014, 17:58 pm
Buenas  a todos.
Venia preguntando si alguien cononce algun exploit que haya salido para el bug heardbleed??
10  Programación / Programación C/C++ / problema con un programa de estructura de datos en: 10 Enero 2014, 12:43 pm
Buenas a todos.
Os traigo un problema a ver si alguien me puede ayudar. Estoy haciendo un programa de una base de datos de un restaurante(es un trabajo de la uni) este es el codigo fuente:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 100
  4. #define TRUE 1
  5. #define FALSE 0
  6. //ESTRUCTURAS
  7. typedef struct reservas
  8. {
  9. int mes;
  10. int dia;
  11. int hora;
  12. char nombre[30];
  13. }reservas;
  14. typedef struct mesa{
  15. int Numero;
  16. int NumeroMaximoDeComensales;
  17. int Categoria;
  18. int Piso;
  19. char Camarero[30];
  20. reservas Reserva[TAM];
  21. }Mesa;
  22. Mesa lista[TAM];
  23. int n=0;
  24. int m[TAM];
  25. //MODULOS AUXILIARES
  26. int posicion(int Nmesa) //modulo para ecncontrar la posicion de una mesa indicando su numero
  27. {
  28. int pos,i;
  29. for(i=0;i<n;i++)
  30. {
  31. if (lista[i].Numero==Nmesa)
  32. {
  33. pos=i;
  34. return pos;
  35. }
  36. else
  37. {
  38. //acota el error de que no exista ninguna mesa con ese numero
  39. system("cls");
  40. system("color 0C");
  41. printf("NO HAY NINGUNA MESA CON EL NUMERO %i",Nmesa);
  42. system("pause >nul");
  43. system("color 0F");
  44. menu(); //fallo por llamar una funcion que todavía no ha sido definida pero que no influye en ejecuccion del programa
  45. }
  46. }
  47. }
  48. //MODULOS PRINCIPALES
  49. void Reserva(int Nmesa,Mesa Nueva) //modulo  para hacer una reserva
  50. {
  51. int pos,validacion=TRUE,i;
  52. pos=posicion(Nmesa);
  53. system("cls");
  54. printf("A nombre de quien quiere realizar la reserva.? ");
  55. fflush(stdin);
  56. gets(Nueva.Reserva[m[pos]].nombre);
  57. printf("Para cuando desea realizar la reserva:\n");
  58. printf("Mes(del 1 al 12): ");
  59. scanf("%i",&Nueva.Reserva[m[pos]].mes);
  60. printf("dia(del 1 al 31): ");
  61. scanf("%i",&Nueva.Reserva[m[pos]].dia);
  62. printf("hora(desde 0 a 24): ");
  63. scanf("%i",&Nueva.Reserva[m[pos]].hora);
  64. for (i=0;i<n;i++)
  65. {
  66. if (lista[pos].Reserva[i].mes==Nueva.Reserva[m[pos]].mes && lista[pos].Reserva[i].dia==Nueva.Reserva[m[pos]].dia && lista[pos].Reserva[i].hora==Nueva.Reserva[m[pos]].hora)
  67. {
  68. validacion=FALSE;
  69. system("cls");
  70. system("color 0C");
  71. printf("Ya hay una reserva hecha en esa mesa en esa fecha");
  72. system("pause > nul");
  73. system("color 0F");
  74. }
  75.  
  76. }
  77. if (validacion!=FALSE)
  78. {
  79. lista[pos].Reserva[m[pos]]=Nueva.Reserva[m[pos]];
  80. m[pos]=m[pos]+1;
  81. system("cls");
  82. system("color 0A");
  83. printf("Reserva Completada");
  84. system("pause > nul");
  85. system("color 0F");
  86. }
  87. }
  88. void EliminarMesa(int Nmesa) //Eliminar una mesa del registro
  89. {
  90. int pos,i;
  91. pos=posicion(Nmesa);
  92. if(pos<n && pos>=0)
  93. {
  94. n--;
  95. for(i=pos;i<n;i++){
  96. lista[i]=lista[i+1];  
  97. }
  98. }
  99. }
  100. void MostrarReservas(int Nmesa) //Muestra las reservas hechas a una mesa indicada
  101. {
  102. int i,pos;
  103. pos=posicion(Nmesa);
  104. printf("LAS RESERVAS DE ESA MESA SON [hora/dia/mes]\n\n");
  105. for (i=0;i<m[pos];i++)
  106. {
  107. printf("%i\\%i\\%i\t\t%s\n",lista[pos].Reserva[i].hora,lista[pos].Reserva[i].dia,lista[pos].Reserva[i].mes,lista[pos].Reserva[i].nombre);
  108. }
  109. system("Pause > nul");
  110. }
  111. void Aumentar(int Nmesa,int AumentoComensales) //Modulo que aumenta el numero de comensales de una mesa
  112. {
  113. int pos;
  114. pos=posicion(Nmesa);
  115. lista[pos].NumeroMaximoDeComensales=lista[pos].NumeroMaximoDeComensales+AumentoComensales;
  116.  
  117. }
  118. void Disminuir(int Nmesa,int DisminucionComensales)//Modulo que dismuye el numero de comensales de una mesa
  119. {
  120. int pos;
  121. pos=posicion(Nmesa);
  122. if (DisminucionComensales>=lista[pos].NumeroMaximoDeComensales)
  123. {
  124. system("cls");
  125. system("color 0C");
  126. printf("ERROR LA DISMINUCION ES MAYOR AL MAXIMO DE NUMERO DE COMENSALES");
  127. system("pause >nul");
  128. system("color 0F");
  129. }
  130. else
  131. lista[pos].NumeroMaximoDeComensales=lista[pos].NumeroMaximoDeComensales-DisminucionComensales;
  132.  
  133. }
  134. int Adjuntar(Mesa Nueva)//Modulo que se asegura de que se puede puede introducir la mesa a la lista de mesa y la incluye
  135. {
  136. int i,validacion1;
  137. for (i=0;i<n;i++)
  138. {
  139. if (lista[i].Numero==Nueva.Numero)
  140. {
  141. validacion1=FALSE;
  142. }
  143. }
  144. if(n<TAM && validacion1!=FALSE)
  145. {
  146. lista[n]=Nueva;
  147. n++;
  148. return TRUE;
  149. }
  150. else
  151. return FALSE;
  152. }
  153. void listado() // muestra por pantalla todas las mesas del registro
  154. {
  155. int i;
  156. system("cls");
  157. printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<MESAS>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n\n");
  158. for (i=0;i<n;i++)
  159. {
  160. printf("\nel numero de la mesa es: %i\n",lista[i].Numero);
  161. printf("el numero maximo de comensales es: %i\n",lista[i].NumeroMaximoDeComensales);
  162. printf("la categoria es: %i\n",lista[i].Categoria);
  163. printf("el piso en la que esta la mesa es: %i\n",lista[i].Piso);
  164. printf("el camarero en de la mesa es: %s\n",lista[i].Camarero);
  165.  
  166. }
  167. system("Pause >nul");
  168. }
  169. ModificarMesa(Nmesa)// modifica los datos de una mesa
  170. {
  171. int opcion,pos;
  172. pos=posicion(Nmesa);
  173. do{
  174. system("cls");
  175. printf("1. Modificar Numero\n");
  176. printf("2. Modificar Numero Maximo de Comensales\n");
  177. printf("3. Modificar Categoria\n");
  178. printf("4. Modificar Piso\n");
  179. printf("5. Modificar Camarero\n");
  180. printf("6. salir\n");
  181. printf("Que deseas modificar.? ");
  182. scanf("%i",&opcion);
  183. switch (opcion)
  184. {
  185. case 1:
  186. printf("Introduzca el nuevo numero de la mesa: ");
  187. scanf("%i",&lista[pos].Numero);
  188. break;
  189. case 2:
  190. printf("Introduzca el nuevo numero maximo de comensales: ");
  191. scanf("%i",&lista[pos].NumeroMaximoDeComensales);
  192. break;
  193. case 3:
  194. printf("Introduzca la nueva categoria: ");
  195. scanf("%i",&lista[pos].Categoria);
  196. break;
  197. case 4:
  198. printf("Introduzca el nuevo piso: ");
  199. scanf("%i",&lista[pos].Piso);
  200. break;
  201. case 5:
  202. printf("Introduzca el nuevo camarero: ");
  203. fflush(stdin);
  204. gets(lista[pos].Camarero);
  205. case 6:
  206. system("cls");
  207. system("color 0A");
  208. printf("Datos Modificados correctamente");
  209. system("pause >nul");
  210. system("color 0F");
  211. break;
  212. default:
  213. system("cls");
  214. system("color 0C");
  215. printf("ERROR NUMERO NO ASIGNADO");
  216. system("pause >nul");
  217. system("color 0F");
  218. break;
  219. }
  220. }while(opcion!=6);
  221.  
  222. }
  223. void Guardar()//guarda los todas las mesas y reservas en un archivo txt
  224. {
  225. int i,j;
  226. FILE *fichero;
  227. fichero=fopen("Restaurante.txt","w");
  228. fprintf(fichero,"%i\n",n);
  229. for (i=0;i<n;i++)
  230. {
  231. fprintf(fichero,"%i\n",lista[i].Numero);
  232. fprintf(fichero,"%i\n",lista[i].NumeroMaximoDeComensales);
  233. fprintf(fichero,"%i\n",lista[i].Categoria);
  234. fprintf(fichero,"%i\n",lista[i].Piso);
  235. fprintf(fichero,"%s\n",lista[i].Camarero);
  236. fprintf(fichero,"%i\n",m[i]);
  237. for (j=0;j<m[i];j++)
  238. {
  239. fprintf(fichero,"%i\n",lista[i].Reserva[j].mes);
  240. fprintf(fichero,"%i\n",lista[i].Reserva[j].dia);
  241. fprintf(fichero,"%i\n",lista[i].Reserva[j].hora);
  242. fprintf(fichero,"%s\n",lista[i].Reserva[j].nombre);
  243. }
  244. }
  245. fclose(fichero);
  246. system("cls");
  247. system("color 0A");
  248. printf("Datos Guardados correctamente");
  249. system("pause > nul");
  250. system("color 0F");
  251. }
  252. void Cargar()//carga todas las mesas y reservas que esten guardadas en el archivo restaurante.txt
  253. {
  254. int i,j;
  255. FILE *fichero;
  256. fichero=fopen("Restaurante.txt","r");
  257. fscanf(fichero,"%i",&n);
  258. for (i=0;i<n;i++)
  259. {
  260. fscanf(fichero,"%i",&lista[i].Numero);
  261. fscanf(fichero,"%i",&lista[i].NumeroMaximoDeComensales);
  262. fscanf(fichero,"%i",&lista[i].Categoria);
  263. fscanf(fichero,"%i",&lista[i].Piso);
  264. fscanf(fichero,"%s",&lista[i].Camarero);
  265. fscanf(fichero,"%i",&m[i]);
  266. for (j=0;j<m[i];j++)
  267. {
  268. fscanf(fichero,"%i",&lista[i].Reserva[j].mes);
  269. fscanf(fichero,"%i",&lista[i].Reserva[j].dia);
  270. fscanf(fichero,"%i",&lista[i].Reserva[j].hora);
  271. fscanf(fichero,"%s",&lista[i].Reserva[j].nombre);
  272. }
  273. }
  274. fclose(fichero);
  275. system("cls");
  276. system("color 0A");
  277. printf("Datos Cargados correctamente");
  278. system("pause >nul");
  279. system("color 0F");
  280. }
  281. void menu()//menu del programa
  282. {
  283. int opcion,res,AumentoComensales,DisminucionComensales,Nmesa;
  284. Mesa Nueva;
  285. system("color 0F");
  286. do
  287. {
  288. system("cls");
  289. printf("\n1. Introduce nueva mesa en el restaurante\n");
  290. printf("2. Elimina una mesa del restaurante\n");
  291. printf("3. Aumentar numero de comensales de una mesa\n");
  292. printf("4. Disminuir numero de comensales de una mmesa\n");
  293. printf("5. Reservar una mesa\n");
  294. printf("6. listar reservas de una mesa\n");
  295. printf("7. Modificar datos de una mesa\n");
  296. printf("8. Guardar datos en Fichero\n");
  297. printf("9. Cargar datos en un Fichero\n");
  298. printf("10. Mostrar Mesas\n");
  299. printf("11. Salir");
  300. printf("\n Que deseas hacer.? ");
  301. scanf("%i",&opcion);
  302. printf("\n");
  303. switch(opcion)
  304. {
  305. case 1:
  306. system("cls");
  307. printf("Numero de la mesa: ");
  308. scanf("%i",&Nueva.Numero);
  309. printf("Numero Maximo de comensales: ");
  310. scanf("%i",&Nueva.NumeroMaximoDeComensales);
  311. printf("Categoria: ");
  312. scanf("%i",&Nueva.Categoria);
  313. printf("Piso: ");
  314. scanf("%i",&Nueva.Piso);
  315. printf("Camarero: ");
  316. fflush(stdin);
  317. gets(Nueva.Camarero);
  318.  
  319. res=Adjuntar(Nueva);
  320. system("cls");
  321. if (res==TRUE)
  322. {
  323. system("color 0A");
  324. printf("La mesa se ha adjuntado correctamente\n");
  325. }
  326. else
  327. {
  328. system("color 0C");
  329. printf("la mesa no se ha adjuntado correctamente es posible que ya exista una mesa con ese numero\nvuelve a intentarlo\n");
  330. }
  331. system("Pause >nul");
  332. system("color 0F");
  333. break;
  334. case 2:
  335. system("cls");
  336. printf("Introduce el numero de la mesa: ");
  337. scanf("%i",&Nmesa);
  338. EliminarMesa(Nmesa);
  339. break;
  340. case 3:
  341. system("cls");
  342. printf("Introduce el numero de la mesa: ");
  343. scanf("%i",&Nmesa);
  344. printf("En cuanto deseas aumentar el numero de comensales.?");
  345. scanf("%i",&AumentoComensales);
  346. Aumentar(Nmesa,AumentoComensales);
  347. break;
  348. case 4:
  349. system("cls");
  350. printf("Introduce el numero de la mesa: ");
  351. scanf("%i",&Nmesa);
  352. printf("En cuanto deseas aumentar el numero de comensales.?");
  353. scanf("%i",&DisminucionComensales);
  354. Disminuir(Nmesa,DisminucionComensales);
  355. break;
  356. case 5:
  357. system("cls");
  358. printf("Introduce el numero de la mesa: ");
  359. scanf("%i",&Nmesa);
  360.  
  361. Reserva(Nmesa,Nueva);
  362. break;
  363. case 6:
  364. system("cls");
  365. printf("Introduce el numero de la mesa: ");
  366. scanf("%i",&Nmesa);
  367. MostrarReservas(Nmesa);
  368. break;
  369. case 7:
  370. system("cls");
  371. printf("Introduce el numero de la mesa: ");
  372. scanf("%i",&Nmesa);
  373. ModificarMesa(Nmesa);
  374. break;
  375. case 8:
  376. Guardar();
  377. break;
  378.  
  379. case 9:
  380. Cargar();
  381. break;
  382. case 10:
  383. listado();
  384. break;
  385. case 11:
  386. break;
  387. default:
  388. system("cls");
  389. system("color 0C");
  390. printf("ERROR NUMERO NO ASIGNADO");
  391. system("pause >nul");
  392. system("color 0F");
  393. break;
  394.  
  395. }
  396. }while (opcion!=11);
  397. system("cls");
  398. system("color 0D");
  399. printf("Gracias por utilizar nuestra aplicacion");
  400. system("Pause >nul");
  401. system("exit");
  402.  
  403. }
  404. main()
  405. {
  406. menu();
  407. }
  408.  

el problema que tengo es en el modulo posicion. Este modulo lo que hace es que en la lista de mesas encuentra la posicion en la que se encuentra la mesa con el numero introducido anteriormente, este numero es el numero de la mesa (no se si me explico).Mi problema es que si se introduce un numero de mesa y no hay ninguna mesa que tenga ese numero quiero que vaya  al modulo menu y no continue, pero al invocar el modulo menu como esta puesto da un error ya que llamo a la funcion menu antes de definirla. Como se podria solucionar eso?
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines