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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 19
11  Programación / Programación C/C++ / TCP Checksum falla en algunos casos - C++ en: 5 Julio 2016, 11:34 am
Bueno pues es bastante raro, parece que esta todo correcto (el código), pero sin embargo hay veces que falla aunque suele acertar el 90% de los checksums, pero los que falla son los de handshake sobretodo que se caracterizan por llevar el campo de "options" que no está explícito en el paquete. Normalmentela diferencia de error suele estar en la del tamaño del bytes del campo options, si el campo es de 12 bytes, lo que sumo del checksum es 12 menos que lo que debería sumarle, no entiendo nada, en caso de fallar sería esta línea add = (USHORT)((content[16] << 8) + content[17]) - (USHORT)((content[46] & 0xF0) >> 4)  pero está correcta.

Código
  1. UCHAR* GetTCPChecksum(const UCHAR* content, UINT length)
  2. {
  3. UCHAR checksum[2];
  4. USHORT added = 0, add = 0;
  5. std::bitset<17> bs;
  6.  
  7. if (length < 54)
  8. return NULL;
  9.  
  10. for (UCHAR i = 26; i < 33; i++)
  11. {
  12. add = (USHORT)((content[i] << 8) + content[i + 1]);
  13. bs = added + add;
  14. added += add;
  15. if (bs[16] == 1)
  16. added++;
  17. i++;
  18. }
  19.  
  20. add = (USHORT)0x06;
  21. bs = added + add;
  22. added += add;
  23. if (bs[16] == 1)
  24. added++;
  25.  
  26. add = (USHORT)((content[16] << 8) + content[17]) - (USHORT)((content[46] & 0xF0) >> 4) * 4;
  27. bs = added + add;
  28. added += add;
  29. if (bs[16] == 1)
  30. added++;
  31.  
  32. for (UINT i = 34; i < length - 1; i++)
  33. {
  34. if (i != 50)
  35. {
  36. add = (USHORT)((content[i] << 8) + content[i + 1]);
  37. bs = added + add;
  38. added += add;
  39. if (bs[16] == 1)
  40. added++;
  41. }
  42. i++;
  43. }
  44.  
  45. if (length % 2)
  46. {
  47. add = (USHORT)(content[length - 1] << 8) + 0;
  48. bs = added + add;
  49. added += add;
  50. if (bs[16] == 1)
  51. added++;
  52. }
  53.  
  54. added = added & 0xFFFF;
  55. added = ~added;
  56.  
  57. checksum[0] = (added >> 8) & 0x00FF;
  58. checksum[1] = added & 0x00FF;
  59.  
  60. return checksum;
  61. }
  62.  

Hay que  sumar en de 16 bits en 16 bits (en USHORT): el IP origen + IP destino + numero de protocolo <<8 + longitud del segmento TCP (la linea en cuestión) + payload TCP y si es impar se suma el ultimo pasandole a la izquierda del USHORT (<<8).

Eso es todo pero la práctica.. dejo un link que sigo para hacerlo:

http://www.arcesio.net/checksum/checksumTCP.html

Probad vosotros mismos con el wireshark, pasandole el paquete completo y el header-> caplen a la función, los paquetes que llevan el campo options suelen fallar.


12  Programación / Programación C/C++ / Problema redirigiendo paquete TCP en: 4 Julio 2016, 11:53 am
Hola, buscando errores me he dado cuenta que no llegan o el servidor HTTP proxy no quiere responder los paquetes y rechaza su conexión, no entiendo:

LLegan paquetes TCP con destino puesto 80, lo que hago es redirigirlos a mi servidor local, pero este no los debe de recibir, los paquetes están mal, o no se que pasa pero no se produce conexión:

Código:
Código
  1. else if (content[36] == 0x00 && content[37] == 0x50)//de host hacia localserver
  2. {//les pongo la mac del otro en ambos sentidos.
  3. // lo manda a 127.0.0.1:10000 y pone la mac del host de src y dest y ip src del server
  4. //le respondera como 127.0.0.1:10000 -> 202.123.123.123.34
  5. //ip red ordenador origen hacia 127.0.0.1:10000 -> 202.20.20.12:80
  6. UCHAR localhost[5] = "\x7f\x00\x00\x01";
  7. memcpy(const_cast<UCHAR*>(content), content + 6, 6);
  8. memcpy(const_cast<UCHAR*>(content + 26), content + 30, 4);//origen IP pongo la del server
  9. memcpy(const_cast<UCHAR*>(content + 30), localhost, 4);//dst IP to localhost
  10. const_cast<UCHAR*>(content)[36] = 0x27;//puerto destino 10000
  11. const_cast<UCHAR*>(content)[37] = 0x10;
  12.  
  13. memcpy(const_cast<UCHAR*>(content + 24), GetIPChecksum(const_cast<UCHAR*>(content), header->caplen), 2);
  14. memcpy(const_cast<UCHAR*>(content + 50), GetTCPChecksum(content, header->caplen), 2);//si puerto 80 no hace falta modificarlo.
  15. pcap_sendpacket(sniffer, content, header->caplen);
  16. printf("sended to localserver");
  17. continue;
  18. }
  19.  
13  Foros Generales / Dudas Generales / Ayuda con redirección de paquetes en: 3 Julio 2016, 20:50 pm
Hola a todos, son muchos los temas que llevo ya acerca de esto y no ha habido respuestas todavía quizás sea que me explico algo mal así que expondré el caso de manera simple.

No es una duda de programación lo primero, es una duda sobre redirección de paquetes, de cómo trabajan los router más que nada, de la NAT, e IP fordwarding, es algo más complejo que actuar como simple router, o hacer una NAT simple.

Bueno al grano, llegan a mi ordenador paquetes de otros hosts a los que tengo que hacer IP fordward al router para darles conexión, algo sencillo cambiando simplemente la cabecera IP y las MACs origen y destino, así pues soy capaz de dar conexión a esos hosts gracias al IP fordward.

Pero ahora bien, supongamos que ahora quiero que de todo ese tráfico IP que se genera quiero pasar una parte de ello en concreto el HTTP por un servidor proxy y reenviar la respuesta al host, para ello mediante filtros redirijo todo el tráfico TCP con destino puerto 80 hacia mi servidor proxy HTTP local, pero pierdo los datos al hacer esto.

Ejemplo: llega un TCP SYN con destino puerto 80 para el host 203.123.231.23 yo lo mando a mi servidor local luego cambio la IP de destino que es 203.123.231.23 por 127.0.0.1, el servidor resuelve la consulta y la reenvia, pero la reenvia al host que tiene IP dentro de la red ejemplo 192.168.1.45, pero ese paquete será rechazado por este host al ver que el paquete proviene de una dirección IP 127.0.0.1 cuando debería ser la IP 203.123.231.23 la que le respondería, por ello puedo capturar ese paquete en la red y enviarlo de nuevo al host cambiandole la IP por 203.123.231.23, PERO hay un problema que al capturar esos paquetes todos llegan de 127.0.0.1 y no se a que IP de servidor iban asociados, ¿como puedo solucionarlo?, ¿alguna idea?, ¿o alternativa para hacer el proxy de otra manera?.

Hasta ahora no se me ocurren buenas soluciones, lo más que se me ha ocurrido es guardando los dominios de cada host y poner por defecto el ultimo que haya usado... pero daria muchos errores, ¿que se puede hacer?.

Saludos y gracias.

Si habría alguna manera de decirle a el socket "cambiame la IP de origen que has usado para el bind() a esta".. pero me da que es imposible :"D

14  Comunicaciones / Redes / Redirección tráfico HTTP a servidor proxy con IP fordwarding en: 28 Junio 2016, 20:22 pm
Hola os comento un problema que tengo, quiero actuar como un router, por lo tanto me llegan paquetes desde hosts con IP origen la que tienen en la red, e IP destino la de un servidor web cualquiera. Bien a estos hosts les hago IP fordwarding sin problemas (pero para el tráfico HTTP quiero reenviarlo a mi servidor proxy HTTP, que ahí es donde entra la NAT).

Mi objetivo es recoger los paquetes TCP destino puerto 80 de los hosts hacer NAT a mi servidor local proxy HTTP que analiza la request y obtiene respuesta del servidor, y luego devuelve la respuesta a los hosts para ello tienen que volver a pasar a través de la NAT.
Pero  cuando el paquete vuelve del servidor local, la IP origen es la del servidor local 127.0.0.1 , no la del servidor web que utilizó el host, y debo cambiarla por esa, pero la he perdido ¿como la puedo recuperar?

Ejemplo: Los hosts tienen IPs del rango 192.168.0.1/24, imaginemos que uno se quiere conectar a google (haciendo IP fordward a través de mi obtiene la IP del servidor de google ya ahora trata de conectarse):

Paso 1: Recibir paquetes de los hosts y filtrar los datos.
Lo que recibo:
Citar
IP origen (host): 192.168.0.100:15678 -> IP dest (google): 202.24.123.24:80

Paso 2: Enviar el paquete a el servidor local para que actúe como proxy.
Lo que envío a mi servidor local tras hacer la NAT (solo modifico estos campos y del checksum IP):
Citar
IP origen (host): 192.168.0.100:15678 ->IP dest (servidor HTTP proxy local): 127.0.0.1:80

Sorpresa acabamos de perder la IP destino, la del servidor (pero aun así puede funcionar pero tendrá que resolver de nuevo la DNS).

Paso 3:: El servidor local proxy recibe los paquetes que no llega a procesarlos porque no se produce conexión ¿porque?, le estoy enviando todos los paquetes TCP con destino puerto 80, incluye los de handshake, ¿porque no se produce entonces la conexion con el servidor local proxy?.
Bueno suponiendo que el proxy los recibe los procesaría y obtendría una respuesta correspondiente a la del HTTP request, esa respuesta sin pasar por la NAT sería:

Citar
IP origen: 127.0.0.1:80 -> IP destino: 192.168.0.100:15678

Mal, acabamos de perder la IP real del servidor web al que lanza la IP el host, luego el paquete probablemente no llegue, debemos de hacer NAT de nuevo, es decir volver al paso 1, recoger ese paquete completo en la red, cambiar la IP de origen de ese paquete por la del servidor web al que lanzó la petición el host y reenviarlo con la nueva IP modificada, pero ¿como sé cual era la IP del servidor web al que lanzó la petición el host?, la he perdido en el paso 1.

En fin, ¿cómo puedo solucionar esto?.

Muchas gracias y un saludo.

Edito: Lo mejor sería alguna manera de hacerlo mediante el OS, he probado con netsh y route sin éxito, y analizando intercepter-ng no encontré que añadiera comandos route, y no se si netsh, pero creo que tampoco, ¿lo hará como estoy proponiendo, con winpcap?.

En resumen quiero algo en plan todo el tráfico HTTP (requests) que entre en la máquina (y que no incluya la IP local) muevemelo al servidor local (a su IP y puerto), y muevelo del server a los hosts, ¿alguna idea con el OS?, me parece que no.
15  Sistemas Operativos / Windows / Windows NAT equivalente a IPTABLES en: 20 Junio 2016, 19:55 pm
Hola, os copio una duda que posteé en otro foro y que sigue sin respuesta, quizás vosotros me podáis ayudar:

¿Cómo puedo redirigir el tráfico IP entrante proveniente de otros hosts de la red hacia el router mediante el SO y filtrar el tráfico TCP con destino puerto 80 hacia un servidor local HTTP?.

En linux se usa "echo “1” > /proc/sys/net/ipv4/ip_forward" para hacer IP fordward, y en windows el homólogo es poner "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter" a 1 para activarlo.

Sin embargo en linux se puede optar por redirigir el tráfico saliente de la máquina (incluido el procedente del fordward) con iptables con: "iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080" podemos redirigir todo el tráfico IP con destino puerto 80 al 8080 de nuestra misma máquina, ESO quiero hacer con windows.

¿Cómo puedo hacerlo?, he leído acerca de netsh pero no se me ocurre algún comando equivalente, ¿alguna idea?.

Saludos y gracias.
16  Comunicaciones / Redes / Redirigir tráfico HTTP a servidor local windows NAT en: 18 Junio 2016, 14:51 pm
Bueno, quiero recibir tráfico que llega a mi máquina de IPs que apuntan a servicios webs como "google.com", "foro.elhacker.net"..., cada petición externa que hace una máquina a esos dominios se traduce en una peticion IP con la IP source de la máquina solicitante y la IP destino de la misma (una vez ya resuelto el dns). Esas peticiones IP source y destino voy a poner un ejemplo de ellas para que entendáis lo que quiero hacer:

Citar
192.168.0.156 -> 202.159.23.13
192.168.0.18 -> 13.156.13.248
192.168.0.146 -> 89.123.23.56.4

Todas esas peticiones que me llegan a mi que actúo como router, quiero redirigirlas a mi servidor local antes de mandarlas al router.

Para que quede algo así:

Citar
192.168.0.156 -> 202.159.23.13 -> 192.168.0.160
192.168.0.18 -> 13.156.13.248 -> 192.168.0.160
192.168.0.146 -> 89.123.23.56.4 ->192.168.0.160

Siendo 192.168.0.160 la IP de mi máquina en la red, de esta manera esas peticiones IP pasarían por mi servidor local antes de salir.

Y desde allí aceptaría su conexión, pero ojo quiero redirigir al servidor (que escuchará en el puerto 80 pues solo le interesan las peticiones HTTP) sólo las peticiones de hosts que esten fuera de la red, que tengan destino el puerto 80 y que sean HTTP.

Es decir hacer esa redirección pero con esos filtros, que solo redirija a mi servidor los mensajes TCP/IP que cumplan esos requisitos.

Sé que con el comando "route" se puede jugar pero no se como poner esos filtros (acceder a comandos ACL para ponerlos). También se puede jugar con el archivo hosts "0.0.0.0 192.168.0.160" quizás funcione.. pero no es lo que busco claro, quiero filtrar.

Por ejemplo he probado con:

Citar
C:\WINDOWS\system32>route add 0.0.0.0 mask 0.0.0.0 192.168.0.160

Que esto redigiría todo el tráfico del ordenador a mi servidor, pero claro luego me quedo sin internet y tengo que cambiarlo.. además no aplica ningún filtro, ya que yo quiero redirigir el tráfico entrante que tenga por destino una IP externa a la red a mi servidor local (192.168.0.160), simplemente eso (cambiar la IP de destino y redirigir el paquete cambiando el checksum IP funcionaría pero habría que reenviar el mismo paquete y no es buena idea).

¿Alguna manera, para redirigir tráfico HTTP entrante con destino IP a hosts fuera de la red a mi servidor local 192.168.0.160?.

Seguramente la respuesta este en netsh y/o route, ¿alguna idea alguien que le haya pasado antes?

Saludos y gracias.
17  Programación / Programación C/C++ / WSAError: 10004 ; Blocking sockets en: 14 Junio 2016, 19:09 pm
Hola a todos,

Bueno estoy trabajando con un servidor proxy HTTP y parece que hay problemas con los sockets al hacer accept(), antes de nada decir que uso el navegador para conectar al servidor, decir que es un proxy recibe petición del navegador carga la peticion y la manda al servidor con CURL, y mando la respuesta al socket.

WSAEINTR 10004 Interrupted function call: A blocking operation was interrupted by a call to WSACancelBlockingCall.

Esto quiere decir que alguien ha llamado llamado a WSACancelBlockingCall y las funciones de espera asociadas a sockets no funcionan como recv o accept ya que son funciones que se bloquean hasta obtener una respuesta a no ser que se las ponga un temporizador máximo de espera, si se llama a esta función esa espera desaparece haciéndolas inútiles.

El código:

Código
  1. void Run(std::string serverIP, UINT serverPort)
  2. {
  3. WSADATA wsa;
  4. SOCKET serverSocket;
  5. sockaddr_in serverAddr;
  6.  
  7. WSAStartup(MAKEWORD(2, 0), &wsa);
  8.  
  9. if ((serverSocket = socket(AF_INET, SOCK_STREAM, 0)) != SOCKET_ERROR)
  10. {
  11. serverAddr.sin_family = AF_INET;
  12. serverAddr.sin_port = htons(serverPort);
  13. serverAddr.sin_addr.s_addr = inet_addr(serverIP.c_str());
  14.  
  15. if (::bind(serverSocket, (sockaddr*)&serverAddr, sizeof(serverAddr)) != SOCKET_ERROR)
  16. {
  17. if (listen(serverSocket, MAXIMUM_VICTIMS) != SOCKET_ERROR)
  18. {
  19. SOCKET victimSocket;
  20. sockaddr_in victimAddr;
  21. victimAddr.sin_family = AF_INET;
  22. INT len = sizeof(victimAddr);
  23.  
  24.  
  25. while (status != DISABLE)
  26. {
  27. victimSocket = accept(serverSocket, (sockaddr*)&victimAddr, &len);
  28.  
  29. if (victimSocket != INVALID_SOCKET)
  30. {
  31. std::thread t(HTTPSession, victimSocket, inet_ntoa(victimAddr.sin_addr), status);
  32. t.detach();
  33. }
  34.  
  35. }
  36.  
  37. }
  38. }
  39. closesocket(serverSocket);
  40. }
  41.  
  42. WSACleanup();
  43.  
  44. }
  45.  

Las 2 primeras requests del cliente las recibe y responde con éxito pero a partir de la segunda request tras enviar la respuesta llama a WSACancelBlockingCall, ¿porque? ¿cómo evitarlo?.

Una vez que sale el error 10004 el bucle itera produciendo errores 10093 (WSANOTINITIALISED).

Puede que sea llamada en HTTPSession:

Código
  1. void HTTPSession(SOCKET victimSocket, std::string victimIP, STATUS& controller)
  2. {
  3. CHAR headerBuffer[8192];
  4. memset(headerBuffer, '\0', 8192);
  5.  
  6. INT rlen = recv(victimSocket, headerBuffer, 8192, NULL);
  7. ...
  8. }
  9.  

Reading: http://www.sockets.com/winsock.htm#CancelBlockingCall

Estoy probando a ponerlo en blocking mode de nuevo con:
Código
  1. ULONG iMode = 0;//blocking mode
  2. ioctlsocket(victimSocket, FIONBIO, &iMode);
  3.  
Pero falla de nuevo por el error 10004.

Saludos.

Edito: Bueno, decir que esta parcialmente arreglado con una chapuza que trataré de mejorar, lo que vengo a hacer es reestablecer el modo block despues de cada accept para el socket "victimSocket", así si al llamar al thread y hacer el recv() se llama a cancelblocking rapidamente se reestablecera tras obtener la respuesta de recv. Hay que llamar a WSAStartup pues la llamada a cancelblocking llama a WSACleanup().

Código
  1. ULONG iMode = 0;//block mode
  2. while (status != DISABLE)
  3. {
  4. victimSocket = accept(serverSocket, (sockaddr*)&victimAddr, &len);
  5.  
  6. if (victimSocket != INVALID_SOCKET)
  7. {
  8. std::thread t(HTTPSession, victimSocket, inet_ntoa(victimAddr.sin_addr), status);
  9. t.detach();
  10. }
  11.  
  12. WSAStartup(MAKEWORD(2, 0), &wsa);
  13. INT iResult = ioctlsocket(victimSocket, FIONBIO, &iMode);
  14. if (iResult != NO_ERROR)
  15. printf("ioctlsocket failed with error: %ld %d\n", iResult, GetLastError());
  16. }
  17.  

PD: He probado a hacerlo solo cuando de error y no funciona, sería curar con esto prevenimos siempre pero evidentemente no me convence tener que llamar a WSAStartup en un bucle, buscaré mejores alternativas..

Edito otra vez: NO hace falta usar ioctlsocket para ponerlo en modo block, solo con llamar a WSAStartup ya funciona y no da error :""""(, la cosa es que parece que para cada socket hay que llamar a WSAStartup así que meteré la llamada en HTTPSession.
18  Programación / Programación C/C++ / Duda pasar de vector<BYTE> a string en C++ en: 11 Junio 2016, 22:06 pm
Código
  1. std::string ArrayToString(std::vector<BYTE> data)
  2. {
  3. std::string ret;
  4.  
  5. for (BYTE b : data)
  6. {
  7. ret += (CHAR)b;
  8. }
  9.  
  10. return ret;
  11. }
  12.  

También he probado:

Código
  1. ret = std::string(reinterpret_cast<CHAR*>(data.data()), data.size());
  2.  

Estoy lanzando una petición a una página con curl, y la parte del body con la respuesta (la obtengo en string con curl), pero luego la paso a vector<BYTE>, para hacer Inflate si está comprimido etc, y si no tiene ninguna compresión ni es imagen, entonces lo pasa a cadena y trabaja con ella.

El caso que para convertir el vector a cadena falla, pero solo con páginas que son UTF-8 (unicode) y contienen caracteres especiales, sin embargo CURL parece que si que es capaz de recibir la respuesta en UTF-8 y cargarla en una string.

¿Debería de usar wstring o caracteres unicode? ¿o me estoy haciendo un lío? XD

Saludos.

Edito: El tema esta solucionado fuera una ida de olla mía, porque no entiendo porque al devolver la string me sale nula aun pasandola como referencia..wat
19  Programación / Programación C/C++ / Pasar clase nula a función + devolver clase nula si error ; Mejor manera en: 9 Junio 2016, 14:48 pm
Bueno escribo por segunda vez el hilo ya que como casi siempre firefox hace cosas raísimas y pierdo todo lo anterior... :-* :-* :-* PD no tengo ni idea como llamar al hilo.

Bueno, pues quiero pasar una Clase (objeto) a una función, pero claro me interesa saber si es nula o no, ¿que haría pasarlo como puntero del tipo de la clase e igualarlo a NULL para ver si existe y trabajar con ella?, ¿o añadir un atributo a la clase llamado de tipo booleano "isNull" y comprobar ese atributo antes que trabajar con ella? (para saber si es NULL y no hay datos con los que trabajar).

En fin si lo paso como puntero tengo que instanciarlo en la heap y tengo que preocuparme por su liberación de memoria después pero puedo comprobar que es NULL rápidamente, si paso una clase con un atributo BOOLEAN isNull; tengo que mirarlo y ya está aunque no me parece buena forma de hacerlo.

¿Qué haríais vosotros en ese caso?.

Otro tema que tiene que ver:

También por ejemplo al devolver una clase, tengo una función que si falla devuelve una clase vacía (porque no me gusta trabajar con excepciones quizás debería), entonces lo que hago es que devuelva un puntero y si es NULL hubo error y no devuelve la clase, pero si funciona devuelve un puntero a la clase.

Ejemplo:

Código:
Response* ServeFile(std::string uri, Properties header) 

¿Que haríais aquí también?

A: devolver un puntero y si es NULL hubo error (habrá que inicializarlo en la heap y eliminarlo posteriormente si devolvemos el objeto).

B: devolver la clase "Response" normal sin puntero pero en caso de que falle lanzar una excepción, de esta manera si hay fallo lanza excepción y no devuelve nada.

C: devolver la clase "Response" normal sin puntero pero que la devuelva como nula si hubo error, es decir que la ponga un atributo "isNull" y si es TRUE es que hubo error y está vacía y sino todo correcto.

En fin hay más métodos, se me ha ocurrido en el segundo ejemplo que la funcion devuelva un booleano sobre si hubo error o no y que la clase que devuelva en vez de devolverla (que devolvería un booleano para saer si hubo error) la reciba como referencia o con un puntero.

¿Cuál opción usaríais?. Yo creo que la opción B es la más profesional, ¿vosotros? ¿cuál es el mejor método?.

Saludos.

Edito: Espero que me entendáis lo que quiero decir XD

20  Foros Generales / Foro Libre / La radicalidad de los independentistas catalanes en: 5 Junio 2016, 16:30 pm
Hola, recién me acabo de informar acerca de una noticia sobre una agresión a 2 mujeres que apoyaban a la selección española en una carpa en Barcelona, fueron brutalmente agredidas por 2 grupos distintos de encapuchados, al grito de "¡putas españolas, os vamos a matar!".

Citar
"Alas 17:00 horas del sábado en dicha carpa un grupo de intolerantes, la mayoría encapuchados, con una estética determinada y al grito de 'putes espanyoles, fuera de aquí, os vamos a matar', han arrasado con la carpa, y aún más triste y lamentable: han agredido brutalmente a las dos colaboradoras que se encontraban en ese momento, empujándolas y tirándolas al suelo, propinándoles golpes y patadas, robando el bolso a una de ellas. En el forcejeo la otra víctima ha tenido la mala suerte de caer en medio de la calle, ocasionándole, según el parte médico, erosiones en la piel, hematomas, contusiones, contractura cervical, entre otros. Los radicales han salido corriendo y han desaparecido. Se ha avisado a los Cuerpos de Seguridad. que han tomado atestado de los sucedido. Al poco rato, otro coche se ha personado y se ha bajado otro grupo de intolerantes y les han vuelto a agredir, insultándolas, tirándoles líquido y escupiéndoles"

En su propio país ¡que vergüenza!, y ¡qué gentuza! golpear y tratar así a unas mujeres que no estaban haciendo política de nada como comunicaron antes de poner la carpa "el apoyo y promoción de la Selección Española de cualquier sección y sus deportistas desde Barcelona". "Ni colores, ni política, tan solo deporte".

El incremento de los independentistas durante estos últimos años se debe al más inútil gobierno que puede existir el PP, que no ha tomado ninguna medida para detenerlo en estos años, y por otro lado está el PSOE que quiere pagar con los privilegios de los demás españoles el voto de los independentistas. Los catalanes tienen solo 2 horas de castellano a la semana, clases en catalán y hasta castigan a niños por no hablar catalán en los patios de los colegios.

Es increíble como ha aumentado en estos últimos años, y ya no solo los independentistas, sino que los que no lo son, son también son muy críticos con España y van tendiendo hacia el independentismo, incluso Garcia Albiol del PP catalán les hace güiños a los independentistas.

El gobierno catalán controla todo el poder de la comunidad, impide estudiar en castellano como primera lengua y catalán como segunda, pone banderas independentistas en muchos ayuntamientos, elimina las españolas y degrada a los catalanes que se sienten españoles (pues lo son), hace discriminación lingüistica del español cuando allí toda la vida se ha hablado (de hecho sería el primer idioma que hablaron los catalanes y de allí partiría su dialecto que es el catalán...), subvenciona comercios que se promocionan en catalán y presiona contra los que lo hacen en español, así pues se produce una fábrica de independentistas y el 48% de los catalanes controla al 52%, y mientras el gobierno central mirando.

En resumen mal por el gobierno independentista que ha dinamitado la sociedad catalana estos años dividiendola a la mitad y no para de subvencionar el independentismo y mal fatal del gobierno central que se ha quedado mirando estos años sin hacer nada, el PP, el gobierno que según decían se caracterizaban por la centralidad, otra mentira más.

El independentismo catalán nunca ha tenido razones (excepto las ideológicas porque para las demás no tienen argumento alguno), luego vemos que el patriarca del independentismo catalán (Pujol) es el mayor defraudador de hacienda de Europa jajaja, mentiras y mentiras hasta que algo cuaje. Pero mientras el ala independentista presiona la contraria permanece oculta y cuando hace la mínima aparición es escaldada como sucedió ayer con esas catalanas que no estaban ni realizando ninguna actividad política.

Recomendable este canal de YT: Dolca catalunya donde abundan violaciones de derechos a los catalanes que se sienten españoles así como mentiras independentistas desenmascaradas y cargos públicos pro independentistas.

Links de las agresiones:

http://es.besoccer.com/noticia/radicales-agreden-brutalmente-a-dos-voluntarias-de-barcelona-con-la-seleccion

http://ultimahora.es/sucesos/ultimas/2016/06/05/196984/agreden-dos-jovenes-plataforma-barcelona-seleccion.html

Como reflexión una pregunta: ¿que hubiera sucedido si hubiera sido al reves?. Nos tienen tomado el pulso.

Saludos.
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines