Logo y colorines

Hace un par de dias que estoy trasteando con Logo [ en_la_wikipedia ] , un lenguaje de programacion diseñado con fines didacticos y que en este caso me parece interesante por que hace muy facil dibujar cosas en la pantalla, como lo que llaman "graficos de tortuga", lo de "tortuga" es por que el cursor era representado como una tortuga y se utiliza para referirse a el (a pesar de que en programas como ucblogo no sea una tortuga, sino simplemente una flecha )

[Nota:] probablemente haya una funcion para extraer la imagen, sino siempre os queda el Imprimir pantalla (como hice yo)

[Nota:] al final dejo unos cuantos interpretes, de todas formas, si usais un sistema Unix, casi seguro que podeis conseguir el ucblogo, ya sea por synaptic, port's o su pagina web ( http://www.eecs.berkeley.edu/~bh/logo.html )

No se necesitan muchas instrucciones para utilizarlo y pasar el rato, las instrucciones "basicas" son:

Para avanzar: forward

ó fd

Para retroceder:
back

ó bk

Para girar a la derecha: right

ó rt

SSH: Conexiones seguras para tod@s ( II ) SSHFS

Siguiendo con la segunda parte de SSH:_Conexiones_seguras_para_tod@s, ahora SSHFS... la idea era mostrar tambien las VPN's, pero ahora mismo no es posible  :(, prometo que pronto saldran ;)

SSHFS

¿ Que es SSHFS ? Es un cliente que permite montar un sistema de archivos remoto en una carpeta local ("bajo la superficie", el cliente funciona con SFTP, con lo que las comunicaciones van cifradas adecuadamente)

Instalandolo La instalacion es la tipica, no me voy a liar con esto, lo unico decir que usa FUSE, si no viene instalado por defecto (que me extraña), cualquier gestor de paquetes decente deberia instalarlo con sshfs, el resto es el clasico sudo apt-get install sshfs

(para basados en debian, por ejemplo)

Montando una carpeta El comando para montar una carpeta es sshfs [@]:[] [-p ]

Los paráetros son:


* Directorio: raiz de sistema de archivos (si es distinta al directorio
HOME del usuario)
* Puerto: si se usa un puerto SSH no estandar (distinto del 22) *

Peligros en el e-Mail

Hoy vamos a ver uno de los "peligros" del correo electronico, y no, no me refiero a el malware, ni al spam ni a nada asi (aunque lleva tanto tiempo ahi como ellos, o aun mas) , sino a algo que incluso se utiliza en correos legitimos (o al menos eso parecen)

Esto es, los correos con HTML

En un principio se podria pensar que esto no tiene nada de malo, se usa HTML en paginas web y no hay ningun problema, ¿verdad?... el problema esta en que se puede utilizar para obtener informacion que no suele ser bueno hacer publica, como la direccion IP utilizada  Veamos como funciona:

Mandamos un correo electronico a una direccion... usuario@example.org , cuando se abra el correo se mostrara el contenido en HTML (a menos que se configure el cliente de correo para que no lo haga) y al mostrar una imagen (por ejemplo), el cliente se conecta al servidor donde esta la imagen, que puede capturar informacion interesante del cliente como la IP, el navegador/cliente utilizado, etc...

Sockets multiplataforma

Un aperitivo mientras preparo algo mas interesante ;)}

Si alguien intento hacer un programa multiplataforma que hiciera uso de sockets se daria cuenta de que la unica diferencia en el manejo de estos entre Windows y los SO's basados en Unix es que el primero tiene una funcion adicional que hay que llamar para poder crear sockets, y otra para cuando se termine con su uso, y que se utilizan tipos de datos distintos (SOCKET en Windows y simplemente int en Unix).

Arreglar ese problema es sencillo, con un par de macros se soluciona el problema, aun asi, si prefieres evitar el trabajo de escribir el codigo, aqui lo tienes: // -----------------------------------------------------------------

// Socket wrapper (aun que no estoy seguro de si se puede llamar asi)

ifndef SOCKET_WRAPPER_H

#define SOCKET_WRAPPER_H

#ifdef _WIN32

#include

#include

#define tsocket SOCKET

#define socket_init() WSADATA wsaData;\

WSAStartup(MAKEWORD(1,1),&wsaData);

#define socket_end() WSACleanup();

#else

#include

#include

SSH: Conexiones seguras para tod@s

Seguramente muchos conozcais telnet, una forma de conseguir una consola de comandos en un ordenador remoto, igualmente muchos sabreis que es inseguro por que va "en plano" por la red (un ordenador cualquiera de la red podria ver lo que pasa en el pc remoto, secuestrar la sesion o incluso capturar las contraseñas), por eso desde hace unos años (desde el 99) se utiliza SSH (secure shell), que utiliza conexiones seguras, peroo... sabiais que ademas de utilizarlo como una consola de comandos se puede utilizar para:

* Transferencias de archivos al estilo FTP

* Copia de archivos en red
*
* Cifrar casi cualquier tipo de conexion (todo lo que se pueda a traves de
SOCKS: web, correo, mensajeria instantanea,... )
*

  • Acceder a sistemas de archivos remotos como si fuesen locales (SSHFS)
  • VPN (aunque mientras se escribe esto solo es posible con el cliente y el
    servidor de OpenSSH)
    *

Y todo esto sin dejar de lado la seguridad... 

Pasando el rato con /dev/dsp

/dev/dsp es el dispositivo que controla el audio en gnu/linux, esto permite hacer cosas bastante curiosas

(Si no encuentras el archivo dsp en la carpeta /dev, quiza este en dsp0, audio o audio0...)

Escribiendo cosas en este archivo conseguiremos que salgan como audio (lo mejor sera bajar el volumen del audio, ya vereis por que... ;)

Otra cosa... es posible que sea necesario cerrar las aplicaciones que esten utilizando el audio para que funcione todo bien, ademas esto es mejor lanzarlo en una consola de comandos (no con un "ejecutar programa") y despues pararlo con Control-C, sino es posible que siga hasta que se reinicie el pc.

Por ejemplo, haciendo  sudo cat /dev/mouse >> /dev/dsp , los altavoces produciran un sonido cada vez que el mouse se mueve.

Protocolos de internet [HTTP]

Este es el primero de una serie de posts sobre los protocolos que se suelen usar en Internet (HTTP, FTP, SOCKS, IRC...), la idea es hacer pequeña introducción a quien no quiera (o no pueda) leerse largos manuales u otros documentos como los RFC por falta de tiempo, por desconocimiento del lenguaje técnico... o por pereza[http://emoticons4u.com/happy/682.gif]

¿Qué es HTTP?

HTTP es un protocolo que funciona sobre TCP/IP y que se suele utilizar cuando navegas por la red, o en las descargas directas, aqui veremos como funciona el HTTP/1.1, que es el "estándar" hoy en dia

Esta, por ejemplo,  es una "conversacion" HTTP (algo así ocurre al acceder a la página principal de Google):

[Lo que va con un # son comentarios]

El cliente (su navegador) se conecta a www.google.es en el puerto 80 (el

puerto estándar)

Se especifica que fichero (o directorio) se pide, en este caso es '/', el

directorio raíz [Cliente] GET / HTTP/1.1

Ahora se especifica a que dominio se pide (esto se utiliza para saber que

Marchando una de exploits!

Ya estamos acostumbrados a que los de Microsoft hagan de las suyas, dejando bugs explotables sin parchear y con ello dejando a sus usuarios solos ante el peligro, despues pasa lo que pasa, la historia de hoy no es diferente... vamos haya:

Las malas noticias:

  1. (CVE-2010-0249) El bug en IE no es algo reciente (el_14_de_este_mes_ya estaban_los_de McAfee_hablando_sobre_el) ,pero aun sigue vigente:

Bug: permite a atacantes remotos ejecutar codigo arbitrario accediendo a un puntero asociado con un objeto borrado.

Son vulnerables IE6, IE7 y IE8, con Windows 2000 SP4, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 y Windows Server 2008 R2.

Simplemente navegando con uno de estos navegadores y SO's dentro de una pagina web hecha a proposito para explotar el bug permitiria acceso al sistema. (El exploit se puede conseguir a traves de Metasploit, por ejemplo)

Diversion con los intrusos

Vuelta de navidades... hay gente que para pasar el tiempo libre se dedica a entrar en redes Wifi, veamos como sacar algo de diversion nosotros tambien :)}

Supongamos que la situacion es la siguiente: eres propietari@ de una red Wifi, red que ha sido vulnerada (maldito WEP >:(  ) y que el intruso utiliza para navegar por internet... asi que vamos a gastarle una pequeña broma

Nota: No soy abogado ni nada parecido, asi que no se si esto que se describe es totalmente legal aqui o en otro pais, las pruebas las he realizado en mi red privada, sin afectar a usuarios externos, si de verdad le vas a gastar una broma (que la cosa no pasa de eso) a alguien de tu red local, hazlo bajo tu responsabilidad.

Bien, pasemos a lo que hace falta:

  • Un servidor web, para mostrarles la pagina web a los "visitantes", un Ubuntu con apache y php servira perfectamente
  • La suite dsniff (concretamente la herramienta dnsspoof), en un entorno Ubuntu/Debian se puede instalar con sudo apt-get install dsniff

pyCrawler 0.1 (Crawler en Python)

Esto es un ejemplo de como hacer un crawler (un script que va siguiendo los enlaces de las paginas web) escrito en python.

El proposito original del script era hacer mas sencillo el trabajo de moderacion de un sitio web, filtrando las imagenes (por url), textos, enlaces y titulos, a traves de una blacklist (nota: estas no traen por defecto ningun elemento, asi que hay que añadirlos a mano, en las lineas 170 y 171,implementadas como listas).

Lo que se hace al encontrar algo en la lista negra se define en la funcion Aviso (linea 16).

Como el proposito original era la moderacion, el script esta programado para no seguir ningun enlace fuera de ese sitio web (pero esto se puede cambiar facilmente).

Link: pyCrawler

Suerte y hasta otra.

Newer posts Older posts