Iloo

https://iloo.wordpress.com

Web Applications Security: Coteor (1)

Tengo esta entrada pendiente desde hace un par de años este tema es bastante delicado y esta relacionado al acceso a los equipos modem ADSL proporcionados por Coteor.

Pero contando un poco la historia, después de firmar el contrato de Internet ADSL y esperar un día viene a mi hogar la persona encargada de la instalación del modem, esta persona instala y configura el dispositivo, después le pregunto si podría darme el acceso al modem (ZyXEL P-660HN-T1A) para poder realizar algunas configuraciones extras, cambiar el SSID, contraseñas, hablitar servicios HTTP, FTP, etc, tal persona me indica que no puede darme ese dato y si necesito algún servicio extra tendría que contactarme con Coteor y ellos analizarían el tema.

Una vez se retira el técnico procedo a obtener la contraseña de acceso al router, tal contraseña no es algo difícil de obtener, se pueden obtener las contraseñas de todos los routers entregados por Coteor.

Luego usando nmap se puede realizar un mapeo, de los equipos conectados en la red:

nmap -sP 200.110.51.1-255

*Mapeando solo el ultimo octeto.

Y se obtiene una respuesta de este tipo:

Nmap scan report for 200.110.51.3
Host is up (0.076s latency).
Nmap scan report for 200.110.51.9
Host is up (0.085s latency).
Nmap scan report for 200.110.51.13
Host is up (0.078s latency).
Nmap scan report for 200.110.51.14
...

Probando la dirección 200.110.51.14:

coteor1

Y en la mayoría de los hosts se tendrá el mismo resultado, probando con la contraseña:

coteor2

Y también se tiene la contraseña de la red wireless:

coteor3

Esto no sucedería si Coteor brindara la contraseña de acceso al modem ya que en este caso sería el usuario el responsable de la seguridad de su red, responsable de usar una contraseña segura para su modem, pero como este no es el caso, Coteor sería el único responsable de la seguridad de las redes de los usuarios.

Anuncios

Ruby on Rails: RVM is not a function

Ruby_on_Rails_logo

Los detalles:

  • CentOS 6
  • RVM
  • Rails 1.9.3

Los pasos.

  1. Instalación RVM, todo correcto.
  2. Instalación ruby 1.9.3, todo correcto.

En la aplicación instalación de gemas y demás:

bundle install

Your Ruby version is 2.1.0, but your Gemfile specified 1.9.3

Cambiar la versión de ruby usada en rvm:

rvm use 1.9.3

RVM is not a function, selecting rubies with ‘rvm use …’ will not work.

La solución, cambiar la shell por defecto:

chsh -s /bin/bash usuario

Yo: cosas que odio

Ruby on Rails: turbolinks + growlyflash = no flash messages

Ruby_on_Rails_logo

Acabo de descubrir growlyflash, una excelente gema que básicamente muestra notificaciones emergentes a partir de los mensajes flash, estilo growl (mac).

Demo.

Todo bien hasta usar turbolinks, que evita recargar toda la página, y por tanto las notificaciones dejan de funcionar.

Para poder solucionar este detalle solo es necesario modificar el tag body (usualmente en application.haml o application.erb) de la siguiente manera, en haml:

%body(data-no-turbolink = '')

Tips: Ajustar las horas (PHP, MySQL, Servidor)

time

Este es un punto que la mayoría pasa por alto, en el mejor de los casos se configura la sección de timezones en PHP y ahí termina el asunto.

Para que no existan discrepancias en los registros es necesario sincronizar los tres aspectos,  ya que cada uno maneja su propio registro de tiempo.

  • PHP
  • MySQL
  • El Servidor.

El Servidor

En primer lugar para saber la fecha y la zona horaria en la que se encuentra el servidor ejecutamos lo siguiente en la consola:

date

Dependiendo del SO la manera de cambiar la fecha y zona horaria varia (no mucho) pero una herramienta útil es usar NTP (Network Time Protocol) para definir este aspecto, la mayoría por no decir todos los SO y sus respectivas distribuciones tienen paquetes para su instalación y uso.

PHP

Para ver la fecha actual se maneja la función date, por ejemplo:

<?php
    echo date('D M j G:i:s T Y');
?>

*Pero ojo que la función date devolvería la fecha del cliente y no del servidor.

Para definir la zona horaria se modifica el archivo php.ini en la directriz timezones:

...
date.timezone = America/New_York
...

MySQL

En primer lugar verificar la zona horaria y fecha en la que se encuentra MySQL, mediante una consulta:

SELECT NOW();

Y finalmente definir la fecha:

SET GLOBAL time_zone = America/New_York;

Mas info: MySQL Server Time Zone Support