Ir al contenido principal

Entradas

Mostrando entradas de 2011

Spoof IP

Hola amigos, contaros que desde hace tiempo andaba detrás de un reto hacking en el que se pedía spoofear cierta IP, que era inválida. Como no podía ser que mi máquina tomase una ip inválida para spoofear, solo cabía esperar que en el servidor se compruebe la ip considerando la cabecera X-FORWARDED-FOR. El script en el que necesito spoofear mi ip está escrito en PHP, y en este lenguaje muchar veces los programadores comprueban la cabacera X-FORWARDED-FOR, por ejemplo: $ipString=@getenv("HTTP_X_FORWARDED_FOR"); El problema radica en que el valor de la cabecera x-forwarded-for puede ser spoofeado si se modifican las cabeceras http que se envían al servidor. Se podrían construir paquetes personalizados, pero he preferido usar alguna herramienta ya existente para facilitar la tarea (y tardar menos en pasar el reto). Instalaremos en local (por ejemplo) un proxy, y ponemos este entre nuestro navegador y la puerta de enlace escuchando en algún puerto, después se configura

Medición de tiempo en Python

B uenas a todos, ayer me llegó un tweet en el que alguien necesitaba trabajar con conjuntos (sets) en PYTHON. Esta persona se encontró con diversas opiniones sobre como era más correcto trabajar con los conjuntos, encontrándose con que la discusión derivó a mediciones tiempos y ordenes de eficiencia (como de lento es cada método). Y aquí es donde me di cuenta que siempre elijo el mejor, pero no entro a cronometrar el algoritmo (en cuanto a las funciones a utilizar, si estás utilizando python3 deberías considerar esta entrada: https://jesusenlanet.blogspot.com/2018/08/python3-stop-measuring-time-with.html ). Así, he estado buscando las diferentes formas de medir tiempos, y me he encontrado con varias formas, diré cuales son y por que las descarto: - Medir el tiempo "a mocho" dentro del código y ensuciándolo Descartado radicalmente por ser poco elegante y propenso a que se meta la pata. - Uso de hilos con thread. Descartado debido a que según he leído, el modulo thr

Tutorial / Manual / HOWTO Programación Android desde cero - Parte 2

En la primera parte de este tutorial, vimos como crear un proyecto, que diferencias hay entre una versión a otra, y cual es la estructura básica del proyecto en eclipse. En esta segunda parte, veremos el emulador y los modos de arranque, y cual es la manera más sencilla (para mí), de arrancarlo. También vamos a ver algo de código por primera vez :) Bien, antes de usar el emulador, tendremos que crear uno. Podremos crear tantos emuladores como queramos, para crear un emulador en eclipse: - Window -> Android SDK and AVD manager Se abrirá una ventana como la de la imagen: - Pulsar en el botón nuevo y aparecerá la ventana de diálogo que nos permitirá crear una nueva máquina virtual: - Le damos el nombre que queramos. - Después hay que darle un tamaño a la tarjeta SD, el mínimo es de 9MB, también podríamos usar un archivo en el que ya tengamos una tarjeta SD. - Yo suelo dejar marcada la casilla de snapshot, así se generará un archivo donde se guardará el emulador.

Tutorial / Manual / HOWTO Programación Android desde cero - Parte 1

Hola, como dice el título, comienzo a escribir una serie de artículos sobre programación en Android. Comenzaré desde cero (0), he intentaré ir adaptando los siguientes artículos tanto a intentar dar a conocer problemas con los que nos encontraremos conforme vayamos incrementando el tamaño o complejidad de nuestra aplicación, además de adentrarnos más en profundidad en los conceptos que nos vayan surgiendo. Yo explicaré para el entorno de desarrollo ECLIPSE. Los pasos para poder instalar todo lo necesario, los podéis encontrar aquí o buscando en google "como instalar eclipse y android sdk": http://www.nettaringa.com.ar/?p=2202 Bien, lo primero que vamos a hacer en esta parte, va a ser crear un nuevo proyecto basado en android, para esto, primero debemos arrancar eclipse . Una vez arrancado, le daremos a la pestaña FILE -> NEW -> ANDROID PROJECT En la ventana que aparece, deberemos de poner, de arriba a abajo: Project name : nombre del proyecto. Content s

Recibir y simular correo en Google App Engine con Python

Para los que usan Google App Engine, tal vez necesiten alguna vez recibir/leer correos electronicos dirigidos a la aplicación, y simular los mismos durante la fase de desarrollo. Como lenguaje de programación estoy usando Python (recordar que IMAP no se puede usar desde una aplicación GAE) Bien, por defecto, la aplicación no recibirá mensajes de correo electronico, para activar este servicio, hay que configurar el archivo app.yaml de la siguiente manera: Archivo APP.YAML inbound_services: - mail En este archivo, también hay que definir cuales son las direcciones de email con las que nuestra aplicación "se mantendrá a la escucha": - url: /_ah/mail/users@appid\.appspotmail\.com script: libraries/users_mail.py login: admin - url: /_ah/mail/webmaster@appid\.appspotmail\.com script: libraries/webmaster_mail.py login: admin - url: /_ah/mail/.+ script: libraries/others_mail.py login: admin Donde appid es el nombre de nuestra aplicación. La última url /_a

Descargar código fuente desde Google App Engine

Estaba desarrollando una aplicación en google app engine, cuando un día, al llegar al trabajo (hoy), me doy cuenta que no tengo acceso a mi versión de desarrollo. Como la ultima versión que estaba desarrollando, justo la noche de antes la había subido a google app engine, pues me dije: "Ya esta, me conecto y me descargo el código fuente" ERROR 404 // SOLUCIÓN A IDEA MÁGICA NO ENCONTRADA Tras buscar por google, observo que hay muchas voces que dicen que no te puedes descargar el código fuente, que google no deja disponible ninguna API para descargarte tu codigo, ... ¡Pero como va a ser así!, desde appengine, te dicen que se puede hacer, lo que no está tan claro es como hacerlo. Pues estos son los pasos para poder hacerlo: Crear un directorio vacío para poder descargar en el nuestra aplicación. Abrir la línea de comandos, y cambiarnos al directorio de google app engine: cd C:\Archivos de Programa\Google\google_appengine\ Ejecutar el siguiente comando para descar

Replicantes, Turing y probabilidades

Hoy, con motivo de mi primera clase de Inteligencia Artificial, dejo parte de mi trabajo realizado para la asignatura "The Beauty of Mathematics" . Mi trabajo consistía en relacionar cine y matemáticas, con la pretensión de reflejar cómo de verdad a las personas les interesan, les gustan y se ven fascinados ante las matemáticas, aunque sea desde una perspectiva más artística que científica (si tienes interes lo puedes descargar aquí ) ¿Alguna vez han visto la pelicula de Blade Runner?? ¿Se han parado a juzgar por ustedes mismos a los personajes que aparecen como replicantes o humanos? ¿Para que servían las pruebas que les hacían? Cualquier persona diría rapidamente: "Para saber si son máquinas o no lo son". Correcto, pero como todo test: ¿Cual es su probabilidad de fallo?. Esta película muestra muy bien esta situación: Tras una fuga de unos peligrosos humanoides, llamados replicantes, un agente se encargará de buscarlos y someterlos a un test llamado

Permitir a un Usuario Limitado Modificar ciertos archivos o directorios

Hola a todos, acabo de hacer lo que para mi es un pequeño gran hallazgo, y es un programita que viene con XP. El programita en cuestion, se dedica a cambiar las listas de control de acceso de un archivo/s o directorio/s, permitiendo asi que cierto archivo o directorio lo pueda LEER tal usuario, MODIFICAR tal otro, o tener CONTROL TOTAL sobre los mismos. El programa se llama cacls , en la pagina teneis una descripcion mas detallada. Cuando se revoca un permiso, se revoca dentro del grupo, si ese usuario posee ese permiso en otro grupo en el que sea participe, entonces seguira teniendo dicho permiso (en cristiano, que para quitarle un permiso, hay que quitarselo en todos los grupos en los que pertenezca). Cuidado con la opcion /E, si esta presente realiza una edicion de la ACL, si no lo ponemos entonces REEMPLAZA (perdiendo asi la actual). ¿Por que he tenido esta necesidad?. Pues por que uso cuenta limitada, nunca de administrador, y estaba ya hasta las ternillas de tener pro

Nueva Web del Atletico Marteño

Hoy estamos de estreno!!. El equipo de fútbol tuccitano (osease, de la villa de Martos, Jaén, Andalucía, España) con más gancho estrena un nuevo portal, con una imagen mucho más potente. Sabemos que le queda aún mucho camino por recorrer, pero poco a poco el portal mejorará, seguro ;) Desde mi blog, les doy las gracias publicamente por confiar en mi esta tarea, y les doy mis mejores deseos. ¡¡Mazal Tov Atlético Marteño!! Actualización (enlace eliminado) 03/Julio/2018 Lamentablemente la web ha desaparecido, no está disponible nunca más.