c

Ataque de denegación de servicio (DoS) Apache [Source Code]

Desde tiempos remotos Apache ha sido víctima de múltiples ataques de denegación de servicio usando una infinidad de técnicas. Hoy vamos a explicar como construir un pequeño código en lenguaje de programación C que será capaz de dejar fuera de servicio a más del 95% de los servidores Apache con configuración por defecto. Nuestro código consistirá en conectar 2.000 sockets al servidor Apache, cuyo puerto por defecto normalmente es el 80. Esto puede sonar típico, tal vez muy clásico, conectar y desconectar sockets ¿Nada nuevo, verdad? Bien, el truco consiste en no desconectar nunca los sockets, Apache dejará abierta la conexión esperando a recibir cabeceras HTTP, a esto debemos sumarle que por defecto, Apache limita las conexiones simultáneas a un […]

, , , , , ,

Llamar métodos nativos desde Java mediante JNI (Caso Práctico)

Hace un mes empece un proyecto, una herramienta de administración remota, bastante interesante. Tenía pensado escribirla en un lenguaje nativo (Object Pascal o C/C++), pero quien paga manda :). Me pidieron realizar-la en Java para posteriormente poder implementar-le el soporte multiplataforma para sistemas Mac y Linux. Como sabemos los programadores de Java o los “Javeros”, este lenguaje tiene bastante potencial, pero también inconvenientes. Imaginemos una situaciones en la que una aplicación no puede ser enteramente escrita en Java, como por ejemplo en el caso de que la biblioteca estándar de clases no proporcione soporte para funcionalidades dependientes de la plataforma, pues para dar solución a estos problemas existen varias  formas / técnicas, aunque en este articulo solo se comentará y se […]

, , , , , , , , , ,

Interactuación de controles HTML y ASP.NET (Caso Práctico)

Lo prometido es deuda, así que, en esta ocasión trataremos la continuación del articulo de “Integración de páginas HTML externas en ASP.NET”. En concreto explicaré y haré una pequeño ejemplo con todos los detalles de como hacer peticiones a los métodos de “WebForms” y que estos nos devuelvan algún resultado. Requisitos Conocimientos sobre AJAX Caso Práctico Yo he elegido una de las páginas de la plantilla del articulo anterior y la he modificado un poco. Veamos en la captura. En la parte central tenemos una lista con dos botones. Con el botón de “Mostrar Mensaje”, enseñaremos la respuesta que nos devuelve el servidor mediante un simple “Alert(…)”, tras hacer la petición a un método de “WebForms” pasando-le un parámetro. El otro botón hará algo […]

, , , , , , , ,

Convertir una cadena de ascii a hexadecimal [C]

Ascii

¿Qué es ASCII? ASCII (American Standard Code for Information Interchange), es un código de caracteres basado en el alfabeto latino. Fue creado en 1963 por el Comité Estadounidense de Estándares (Instituto Estadounidense de Estándares Nacionales, ANSI) como una evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII. El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1 que es una extensión […]

, , , ,

Compilar programas en 64 bits [C]

Code C

Diferencias entre procesadores de x86 y x64 Los procesadores de 32 bits (x86) puede manejar un máximo de 4 gigabytes (2 ^ 32 = 4.294.967.296 bytes -> 4 gigabytes) de memoria RAM, mientras que un procesador con arquitectura de 64 bits (x64) puede tener hasta un máximo de 16 exabytes (2 ^ 64 = 18.446.744.073.709.551.616 -> 16 exabytes, 16 mil millones de gigabytes) de memoria RAM. Esto implica un incremento de las direcciones de memoria. Un sistema con un procesador de 64 bits es capaz de mover el doble de información por ciclo de reloj (un hertz) que un sistema con un procesador de 32 bits. Este desplazamiento no significa que sea más rápido sino que mueve más datos en […]

, , , , , ,

Nuevo troyano sofisticado “W32.Duqu”

Duqu

Recientemente se ha descubierto un sofisticado troyano llamado “Duqu” (algunos lo denominan Stuxnet 2.0), cuyos creadores son los mismos que los del gusano “Stuxnet”, se escribió en un lenguaje de programación hasta ahora desconocido. El objetivo ahora sería diferente: robar información de los controles industriales en lugar de sabotearlos, y en infraestructura crítica, tales como centrales eléctricas, refinerías y oleoductos y su principal función es actuar como backdoor en el sistema para facilitar el robo de información privada y se detecto por primera vez en septiembre de 2011 aunque su primer rastro data de agosto de 2007 (según Kaspersky Lab). La mayoría de incidentes localizados a causa de este virus se encuentran en Irán. El objetivo principal de Duqu es […]

, , , , , , , , ,