Mantente en contacto con nosotros a través de Facebook. Sólo presiona el botón Me gusta

miércoles, 13 de agosto de 2014

TOR Browser fue hackeado

Una herramienta que ha sido usada para diferentes propósitos, principalmente la navegación anónima ha sido vulnerada, como lo describe la nota emanada de la fuente del sitio Anonymous que citamos a continuación:

pero para que entendamos más, voy a pasarles la transcripción de la traducción de la web de Anonymous al español: (se usó Google Translate y se hicieron algunas pocas correcciones).

"En un intento de asegurar la privacidad y la libertad personal de los usuarios de Internet, que debería ser el derecho de cualquier usuario, el proyecto TOR se ejecutó voluntariamente para proporcionar la navegación en línea anónima bajo el nombre de Tor anonimato en línea. Tor incluso ha tratado de mantener la privacidad de las relaciones de los usuarios ya sea personal o de negocios y para permitir el acceso a sitios web que son censuradas por el gobierno.

Aunque la intención de este proyecto era proteger a los usuarios de Internet, recientemente, los administradores de TOR han confirmado un ataque a sus servicios para el anonimato en línea, en julio de 2014, con una víctima en cuenta: los usuarios de Internet. Esos ataques han hecho su punto en des-anonimizar a los usuarios de Tor.


Se plantearon argumentos sobre la identidad de los atacantes, sin embargo, para la investigación realizada por Alexander Volynkin y Michael McCord había un sospechoso principal. Esto se debe a que se supone que iban a hacer una charla titulada: 'Atacar Tor y des-anonimizarlo' en la Conferencia de Sombrero Negro pero fue cancelada por razones poco claras. Esto podría haber tenido graves problemas con respecto a la ética de la investigación académica que se trataba de demostrar. A medida que los investigadores no han solicitado el consentimiento de los usuarios ni pueden decir las consecuencias de la liberación.

Sorprendentemente, el segundo sospechoso es el Gobierno ruso. Aparentemente sí ofreció $ 114.000 para cualquier persona que puede romper el anonimato de Tor, donde el FBI y el gobierno de Estados Unidos por lo general son un sospechoso común con alto interés en el asunto.

Independientemente de la actual confusión de la identidad del atacante, Tor dijo que los usuarios de enero 2014-junio 2014 podrían haber sido muy 'afectados' por este tipo de ataques sin especificar detalles acerca de hasta qué punto el "efecto" que podría haber causado.

La falla en Tor y otros sistemas similares se pensaba que era en el software I2P en el que los relés pueden conocer la dirección IP del usuario y el destino del servicio oculto de Tor, por lo tanto, des-anonimizar las actividades de los usuarios.


Para resolver el problema, se recomienda en gran medida a los usuarios actualizar a la versión 0.2.2.23 o 0.2.5.6-alpha de Tor ya que el equipo fue capaz de eliminar todos los posibles relés malvados. 
Por último, los usuarios de Tor pueden disfrutar de la navegación privada segura de nuevo, al menos por un tiempo."



 

viernes, 1 de agosto de 2014

Automatiza todo con IFTTT

Vaya vaya, no se como no lo encontré antes, este servicio ya tiene algunos años y cada vez lo van mejorando, llegó a mi buscando soluciones para el reenvío de SMS's cosa que en Argentina esta limitado por las empresas de telefonía móvil, sin contar que el servicio por estos lares es decadente, pero no vamos a entrar en detalles, sino vamos a hablar de un servicio web que entre otras cosas nos permite cambiar estados de Twitter, Facebook, reenviar correos, conectar desde nuestro movil varias herramientas, etc,
sin tener que programar nada!

IFTTT (IF This Then That) literal: Si Esto, Entonces Aquello, una traducción en un español limpio sería, Si sucede esto, entonces hacer esto otro u aquello

Por ejemplo si queremos que al entrar un e-mail a nuestra bandeja de Gmail automáticamente se postee alguna respuesta en nuestro Twitter lo podremos programar con sencillas "recetas",

En el mundo de IFTTT todo se maneja con "recetas"
y las llamadas a aciones con los principios:

This: Es el diparador o Trigger que activará una acción.
That: es la acción a ejecutar.


Este sitio esta compuesto de diferentes acciones que podemos encontrar en una galería de "recetas" aportadas por otros usuarios, asimismo nosotros podemos crear las nuestras propias para ejecutar casi cualquier cosa que se nos ocurra.

No me gusta entrar en detalles de explicaciones que pueden resultar divagantes o redundantes, lo mejor es que se registren y empiecen a probarlo por ustedes mismos, simplemente este servicio es una maravilla

Link: https://ifttt.com/

martes, 29 de julio de 2014

Google Apps Script (GAS) apesta

Hoy no voy a presentar ningún script ni a enseñar a programar en GAS, aunque mi opinión nefasta y detractora al principio no vaya a favor de este lenguaje (pseudo) en algún momento quizá comparta algunos scripts que he realizado para facilitarle la vida a alguien, o quizá no. No he visto comentarios negativos sobre Google Apps Script al cual me voy a referir en este momento por su sigla en inglés "GAS", quizá sea el primero y el último en comentar algo así, igualmente no pretendo hacer un movimiento detractor de esta plataforma sino manifestar mi experiencia personal en ella.

por si acaso si entraste a leer este artículo y aun no sabes a que me refiero, GAS es un lenguaje de script on-cloud basado en Javascript pero a diferencia de éste corre del lado de los servidores de Google, y conecta con algunos servicios de la empresa en cuestión, según Google, GAS fue ideado para facilitarle la vida a los programadores y acelerar la curva de aprendizaje, en este último punto discrepo.

Me acerque a este lenguaje con la necesidad de automatizar algunas tareas repetitivas en una cuenta de AdWords, ahí me encontré con las primeras piedras en el camino, de un pseudolenguaje on-cloud, monopólico y basado en Javascript el cual para poder escribir un programa que hiciera algo tenia que usar el editor on-line de Google, lo primero que pensé ¿por qué no usaron PHP?.

El monopolio de Google,lo estableció así, como el mandamiento programático para que uses algunos servicios sin meterte a hurgar entre las tripas, cada acción, como el envió de un e-mail tiene que ser autorizado desde el editor de scripts,
si bien este pseudolenguaje que es un derivado de javascript sirve por ejemplo, para administrar las famosas spreadsheets , AdWords, Drive, entre otros servicios, es una forma propietaria y muy desprolija para quien viene de otros lenguajes y se considera algo purista, claro que es mi opinión personal, quizá en algún momento la compañía de un paso al costado y realmente implemente soluciones nativas, basadas en algún otro lenguaje de servidor como PHP.

Hoy en día no se puede perder el tiempo reinventado la rueda, considero que GAS es un reinvento de la rueda, una abstracción más para brindarle al desarrollador un servicio mediocre, limitando los servicios a los cuales pueden accederse con GAS para ofrecer servicios adicionales de pago.

Soy consumidor de servicios Google, pero sin ser un zombi de esta empresa considero que la misma tiene patas flojas, muchas cosas por mejorar, y por facilitarle la vida al usuario, tengamos presente que
Google ya viene retirando productos del mercado, como fue el caso de Orkut y viene dando pasos al costado, con varias herramientas y realizando varias modificaciones en su plataforma.

lunes, 28 de julio de 2014







Los rumores ya están corriendo como reguera de pólvora tanto en sitios especializados como en foros de tecnología móvil, para dar una sencilla explicación a esto, vamos a decir que la oferta-demanda esta jugando un rol importante en este argumento, según los fabricantes del iPhone 6, la empresa Foxconn que también se encarga de fabricar equipos Nokia, Sony, Motorola, Microsoft y BlackBerry entre otros, argumentan que debido a las limitaciones legales en su producción, por contrato no pueden adquirir más lineas de montaje para la producción de los equipos, es así que, al incrementarse la producción por la creciente demanda los suministros bajan, así que irremediablemente los costos subirían, por lo tanto indefectiblemente aquí entra en juego la ley de la escasez que provocaría un precipitado aumento de los equipos del stock de otras marcas.



Se espera que iPhone 6 esté a la venta a mediados de Setiembre, mes en que arribaran otros equipos de marcas Sony Xperia Z3, Samsung Galaxy Alfa y BlackBerry, habría que esperar hasta entonces, aver que sucede con estos rumores, si es que se cumplen como lo pronostican.

Fuente: http://www.gsmarena.com/iphone_6_orders_could_lead_to_10_price_hike_by_other_oems-news-9162.php





viernes, 30 de mayo de 2014

API gratuita de geolocalización por IP

Hace unos días encontré una web que ofrece gratis el servicio online de consultas de IP para nuestras aplicaciones, lo bueno de esto es que podemos pasar un par de parámetros para obtener la información de la IP que le pasemos, lo malo es que no podemos efectuar más de 10000 consultas por hora, igualmente en muchos casos no vamos a tener que realizar tantas peticiones al servidor y no creo que lleguemos a este límite salvo en contadas ocasiones como por ejemplo si administramos un portal con miles o millones de visitas por día, claro que para eso existen otras soluciones profesionales pero este servicio esta pensado para pequeños proyectos,

El servicio usa las bases GeoLite de Maxmind las cuales pueden descargarse gratuitamente desde el sitio en cuestión, y la página del proyecto esta alojada en
GitHub

Implementación:

con solo pasarle la ip o el nombre de host nos devuelve los datos referentes a la ip en cuestión

uso:
freegeoip.net/{format}/{ip_or_hostname}

el parámetro {format} nos permite pasarle cualquiera de estos parámetros ( csv, xml, json )

Para aplicarlo en PHP y recuperarlo con JSON
podemos hacerlo de la sig. manera;

(Usé la IP de Facebook para el ejemplo, entiéndase que uds. deberan colocar cualquier IP) 

Este script nos va a devolver un Array de objetos como este:


stdClass Object
(
    [ip] => 173.252.120.113
    [country_code] => US
    [country_name] => United States
    [region_code] => CA
    [region_name] => California
    [city] => Menlo Park
    [zipcode] => 94025
    [latitude] => 37.459
    [longitude] => -122.1781
    [metro_code] => 807
    [area_code] => 650
)

Script:

<?php
//10.000 peticiones por hora
$ip="173.252.120.113";
$r=json_decode(file_get_contents("https://freegeoip.net/json/$ip"));
print_r($r);
?>

Web:http://freegeoip.net/
Código fuente:https://github.com/fiorix/freegeoip

Manejando sesiones en PHP (nivel básico)







Usar sesiones en PHP es de lo más sencillo que hay, siempre recomiendo usarlas en aplicaciones en donde se tenga que mantener una serie de valores constantes al pasar de una página a otra como es el caso típico de las sesiones de usuario,

he visto aplicaciones en donde se pasan los valores de inicio de sesión a través de cookies, o a través de la barra de direcciones con un parámetro del tipo: script.php?id=loquesea , esto es un espanto, una mala práctica de programación, y un riesgo de seguridad importante que compromete toda la aplicación inclusive al entorno donde se esta ejecutando, pero bueno, volviendo al tema de las sesiones, es una buena práctica mantener los datos de usuario en el servidor y no en forma local a través de cookies sino a través de sesiones,

no es el caso de este artículo pero aun es mucho más seguro guardar las sesiones en una base de datos, pero bueno no quiero irme más allá de la finalidad de hacer un "HOWTO" muy sencillo.

Si necesitáramos realizar una aplicación robusta, tendremos que tener en cuenta el uso de https y recurrir a algún framework como CodeIgniter que ya traen un sistema de manejo robusto de sesiones y nos abstraen de ciertas cuestiones técnicas que implican mayor conocimiento sobre seguridad en sesiones,

Básicamente:

para empezar a usar las sesiones debemos invocar a la función session_start();

para asignar un valor a la variable de sesión simplemente hacemos algo como:
$_SESSION ['usuario'] = 'MiUsuario';

Notese: que los valores son almacenados en un Array $_SESSION

para borrar una variable de sesión podemos hacerlo con unset()
unset($_SESSION['usuario']);

y para destruir una sesión completa , esto es como hacer un reset usamos:
session_destroy (); 

Ej.

<?php
// Si no existe crea una sesión "usuario"
session_start();
if (!isset($_SESSION['usuario'])){$sesion = "invitado";$_SESSION ['usuario'] = 'MiUsuario';}else{$sesion=$_SESSION ['usuario'];}
echo $sesion;
?>

<?php
// Si esta seteada la sesión "usuario" la destruye
session_start();
if (!isset($_SESSION['usuario'])){exit;}
session_destroy ();
?>

les recomiendo visitar el manual de PHP:
Funciones de sesión: http://ar2.php.net/manual/es/ref.session.php

en esta web se explayan mejor sobre la seguridad en las sesiones:
https://www.tarlogic.com/como-generar-sesiones-en-php-de-forma-segura

Por razones de tiempo,en este momento no puedo subir una aplicación de muestra, pero les sugiero seguirme en Facebook o Twitter (personal), Twitter (TallerdeScripts) donde iré subiendo algunos programas para que puedan probar.



martes, 20 de mayo de 2014

Cargar tabla MySQL desde archivo csv con un script BASH

Nuevamente un código auto-explicado para cargar una tabla desde un archivo .csv alojado en un servidor de Internet

usese con precaución, cualquier dato en la base de datos será destruido y alimentado desde el archivo.csv

#!/bin/bash
wget http://pagina/archivo.csv
mysql -u MIUSUARIO -pMICLAVE NOMBREBASEDATOS --local-infile << EOF USE NOMBREBASEDATOS; TRUNCATE TABLE MITABLA; LOAD DATA LOCAL INFILE 'archivo.csv' INTO TABLE MITABLA FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (campo1,campo2,campo3,...); EOF