Web's fantasma

Era un concepto que me gusto, la verdad es que ni siquiera era idea mia, sino que la saque de #_Freesoftwareando_in_the_night, la idea era dejar ahí el zip... pero como cerraron el post, pues lo dejo aqui.

Lo que entendi grosso modo (seguramente estaria explicado exactamente lo contrario, pero se hace lo que se puede  ), era que estaria bien tener paginas web que una vez se visitaran, al volver no hubiera nada, por aquello de que alguien viendo de donde venia la gente por los Refereer acabaria estrellandose con un 404, bien, lo que pude programar es esto [multiplexor.zip], (hay que ajustar algunos parametros en options.php)

TestWeb, un queso gruyer de vulnerabilidades

Esta idea viene de un_post_en_HackXCrack en el que se buscaba el codigo de una pagina web con vulnerabilidades para hacer pruebas y a falta de una ya escrita, programe una web pequeña.

Tiene un poco de todo: SQL inyection, XSS y todo lo que se me ocurrio =)

Aqui teneis el zip (TestWeb.zip)

Usa una base de datos MySQL, los datos se pueden configurar en el archivo dbdata.php

ps: como ya comente en el post de HackXCrack, si vas a permitir a cualquiera entrar, mejor que pongas la variable $allowUpload en False, ( $allowUpload=False; ) (esta en el archivo _change_avatar.php ) sino se podria causar un DoS..., y de paso asegurate que los archivos estén en un chroot (las distros basadas en Debian lo hacen por defecto)... yo aviso

Hasta otra!

ps2: La tercera parte de Introduccion a la criptografia esta en camino ;)

Bajando OGG's de Jamendo

[Actualizacion]

Para quien no lo sepa, Jamendo ofrece la opcion de descargar musica en OGG, pero solo por Bittorrent, y... seamos sinceros, el 90% de las descargas  no tienen ya seeds, asi que hay que recurrir a la descarga directa y al MP3.

Como esta no es forma de ayudar a la musica libre, con formatos no libres, escribi un pequeño (muuuy pequeño) script de Greasemonkey que permite hacer la descarga directa en OGG, si quereis descargarlo, esta [aqui]... o el codigo:

// ==UserScript== // @name           Jamendo OGG Redirector // @namespace      www.jamendo.com // @description    Redirects Jamendo MP3 download to OGG ones // @include        http://www.jamendo.com/*/download/ // ==/UserScript==

// http://www.jamendo.com/LANGUAGE/download/album/ALBUM_NUMBER/do //   | //   |  to //   v // http://www.jamendo.com/get/album/id/album/archiverestricted/redirect/ ALBUM_NUMBER/?p2pnet=bittorrent&are=ogg3

var url=location.href;

var slices=url.split('/');

if (slices[slices.length-1]=="do"){

Música en HTML5

Actualmente si alguien va a hacer un reproductor de audio o de video, en lo unico que se piensa es en Flash, pero HTML5 tambien permite hacerlo... sin necesidad de un formato que consume muchos recursos y que suele funcionar mal si no se visualiza con software privativo.

HTML5, la nueva version (aun experimental, pero soportada por la mayoria de los navegadores) del lenguaje HTML, añade tags como "audio" o "video", de esta forma, como antes se hacian presentaciones de imagenes mezclando Javascript y HTML, ahora se puede hacer un reproductor completo.

Nota: al menos Firefox no soporta MP3, dado que esta patentado, la mejor alternativa (incluso mejor que MP3) es OGG, totalmente libre.

Nota[2]: ningun musico fue "pirateado"  en el proceso de escritura de este post, podeis encontrar musica libre en sitios como Jamendo

Ahora si, HTML5...

La etiqueta que se usa es: <audio src="ruta/al/archivo" [controls="controls"] [autoplay="autoplay"] [preload="preload"]> Texto </audio>

Introduccion a la criptografia, con Python: RSA (II)

Segunda parte de la series, vamos con el cifrado asimetrico, con el algoritmo RSA

Una cosa... oculte el codigo(solo hay que pulsar los botones) por que sino ocupaba mucho mas el post y era ilegible, ahora si...

¿Que es un cifrado asimetrico? (o de clave publica)

A diferencia de un cifrado "tradicional" simetrico, uno asimetrico usa claves distintas para cifrar y para descifrar el mensaje, la publica y la privada, respectivamente.

[Mensaje]----->[Clave publica]----->[Mensaje cifrado]----->[Clave privada]-----

[Mensaje]

Introduccion a la criptografia, con Python: ARC4 (I)

La idea es hacer una serie de posts que cubran algunos de los algoritmos de criptografia mas usados, por lo menos uno decifrado simetrico (como ARC4) , otro de cifrado asimetrico (como RSA) y uno de hash (como MD5), vamos alla....

ARC4 (a.k.a. RC4 ) es el algoritmo de cifrado que se usa en WEP, en WPA y en SSL, entre otras cosas, y destaca por que es extremadamente sencillo y rapido... pero si no se usa correctamente no es seguro :P

Mas concretamente, es un cifrado de flujo, es decir que cifra el mensaje haciendo XOR de el byte de entrada y el byte que se obtiene del algoritmo (del keystream), y que la forma de cifrar y descifrar es exactamente la misma.

El cifrado se maneja con las siguientes estructuras: - Dos enteros (aqui seran 'i' y 'j') que solo tendran valores del 0 al 255 - Un array de 256 bytes (aqui sera 'S' )

La primera parte del cifrado ( el "seeding" ), tiene dos partes, la primera es llenar el array 'S' con valores del 0 al 255 (ambos incluidos), algo como: s=range(0,256)

Como permitir que firefox se conecte a otros puertos

Hoy vengo con algo corto, que me pillo desprevenido, y supongo que a alguien le ayudara

Hace ya tiempo que firefox no permite conectarse a algunos puertos no estandar, como el 87, esto esta bien para evitar el HTML Form Protocol Attack [ http:// www.remote.org/jochen/sec/hfpa/index.html ]

Pero esto puede resultar molesto en sitios que utilizan estos puertos para la navegacion web (como smashthestack.org ), para permitir utilizar estos puertos, entramos a about:config ( le damos a "Tendre cuidado, lo prometo" ), y buscamos "network.security.ports.banned.override", si no existe lo creamos: boton secundario>Nuevo>Cadena Nombre: network.security.ports.banned.override Valor:

Si ya existe, hacemos doble click, y añadimos los puertos (separados por comas) [http://1.bp.blogspot.com/_26RJWnubh-w/S6fSp73oPDI/AAAAAAAAAFU/hreZjd-MxWc/ s640/puertos.png]

Y ya esta!, hasta otra!

Logo y colorines ( y II )

Volvemos con la segunda parte sobre Logo, con unas cuantas figuras...

La primera, para empezar es bastante facil: to figura1 :veces :tamanho

repeat :veces[right 360/:veces

repeat 360[ forward :tamanho right 1 ]

]

end

figura1 72 2

resulta en ...

Fractales Pasamos a algo mas dificil :)}

¿Que es un fractal? (segun Wikipedia) Un fractal es un objeto semigeométrico cuya estructura básica, fragmentada o irregular, se repite a diferentes escalas.[1]Una mejor manera para comprender el comportamiento fractal de nuestro universo es considerar la siguiente definición: "Patrones que se repiten a distintas escalas". A un objeto geométrico fractal se le atribuyen las siguientes características:[2]


* Es autosimilar (exacta, aproximada o estadística).
* Su dimensión_de_Hausdorff-Besicovitch es estrictamente mayor que su dimensión_topológica. * * Se define mediante un simple algoritmo_recursivo. *

Otro huevo de pascua en Python

A parte del conocido Zen de Python ( si no lo conoces, haz "import this"), hay otros, como el que ocurre cuando haces "import antigravity" (aunque solo funciona en Python 3 ), para los que no lo puedan probar...  se abre el navegador en http://xkcd.com/353/ la traduccion:

[http://2.bp.blogspot.com/_26RJWnubh-w/S6DSsTpWvFI/AAAAAAAAAEU/l08uaShz_Sk/ s640/python.png]

Hasta otra!

SSH: Conexiones seguras para tod@s ( y III ) VPN's

Pues aqui esta la ultima parte de SSH: Conexiones seguras para tod@as, las VPN's, vamos alla... [Nota]:en todo el procesovas a necesitar privilegios de root

Preparando el terreno Para poder utilizar un servidor SSH para hacer una VPN, tendremos que hacer algunos cambios:

El primero es cargar el modulo del kernel "tun" (si aparece al hacer lsmod|grep tun , no hace falta), esto se puede hacer con

modprobe tun

Despues vamos a /etc/ssh/sshd_config y comprobamos que los parametros PermitRootLogin y PermitTunnel esten activados (yes)

Y reiniciamos el servidor SSH 

Levantando la VPN

Se establece una conexion SSH  con el servidor de una forma parecida a la que se utiliza para usarlo de proxy: ssh -w [:]  [ @]

Las interfaces seran las que conecten la VPN, se pueden especificar a traves de un numero (que no puede estar en uso), o "any" (para utilizar la primera "no ocupada").

[Nota]: Siempre se va a necesitar una cuenta root en el servidor (ya que se crean nuevas interfaces)

Newer posts Older posts