:::: MENU ::::

Cookies VS Session en PHP

Si eres programador de PHP sabrás que existen cookies y session, y, seguramente, habrás usado ambas.
Para hacer una web «tonta», o de prueba, o en la que simplemente te vayas a loggear tu y no la conozca nadie y no tengas nada interesante, ¿para qué usar cookies si es mucho más tedioso?
Pero bueno, quiero hacer este post para discutir sus ventajas, desventajas, etc.

Session
Las sesiones de PHP es un sistema que lleva incluido el cual crea una cookie en el navegador llamada PHPSESSID que contiene un código de 32 caracteres generados al azar, y luego crea una carpeta donde para cada sesión guarda un archivo que contiene todos los parámetros que guardes en los conocidos $_SESSION[‘algo’].
Sí, es tan cómodo como poner session_start(); y empezar a guardar datos en el usuario, y para desloguearle es tan sencillo como un simple session_destroy();.La cosa es que también podemos intentar robar sesiones a base de fuerza bruta u obteniendo la cookie del navegador (pero lo último es algo irremediable, si tenemos acceso al ordenador del usuario, da igual si son cookies, sesiones, etc. que si queremos robar la sesión, podemos). Incluso con un analizador de de protocolo de red podemos sacar las cookies muchas veces, si no entran con SSL está chupado, y si no tan fácil como usar nuestra amiga, la foquita malvada, y hacer un SLAAC attack, pero bueno, olvidemos eso peusto que pasa lo mismo con las cookies.

Cookies
Volviendo al debate entre Cookies y Session (puesto que en la anterior me he ido por los cerros de Úbeda hablándoos de la Foca), las Cookies nos ofrecen más posibilidades a los programadores para jugar. Básicamente podemos crear cookies de la duración que queramos, con el nombre que queramos, que funcionen en la carpeta que queramos y encima los que almacenan la información temporal son los usuarios y no nosotros. Aun así, no es recomendable leer la información de las cookies y basarse en ella. Si es algo que el usuario pueda editar desde la web (como por ejemplo, el primer paso de un registro de dos pasos, siempre verificando la información dada), entonces sí que podemos confiar en que si editan algo, no nos perjudicará, ya que como buenos programadores comprobaremos que todo lo almacenado en las cookies sea válido como en el confirmación del primer paso del registro ¿verdad? (si no ya sabéis, ahí tenéis unas vulnerabilidades que arreglar YA).
Una vez sabemos los fundamentos de las cookies, sabemos que si almacenamos el ID de un usuario pueden simplemente cambiarlo por otro ID, y así entrar por ejemplo en el ID 1 que será seguramente el creador/administrador de la web. Pero para solucionar eso lo que se hace es crear otra cookie con números, letras, otros caracteres o lo que sea generados al azar y muy largos (de 100 o más caracteres) y almacenarlos junto al usuario en la base de datos, de modo que si el ID y el código creado coincide con las cookies se permite que vea la web logueado. Y sí, con eso también se puede hacer fuerza bruta, pero a más caracteres, más seguridad y además nos permite a los programadores tener el sistema de seguridad que queramos.
La cosa de las cookies es que podemos personalizar la duración, le podemos dar algunos flags que «aumentan la seguridad», poner la ruta que queramos, y en fin, tenemos más control sobre las sesiones, y al fin y al cabo, cada programador tiene su estilo.

En definitiva: yo opto por usar cookies, siempre que vayamos con cuidado, aun que me niego rotundamente a poner el cartelito de ‘esta web usa cookies’, es una obviedad que si te vas a loguear por narices vas a usar cookies, dudo que haya alguna web que con el navegador, el sistema operativo y la IP ya te permita loguearte, por que si no tu [email protected], padre, madre o lo que sea con el mismo ordenador vería tu cuenta, con lo cual, cookies always, ya sea por la sesión del PHP que crea una sola cookie, o por las cookies que cree una página personalizadas.

Y por último quiero pedir disculpas por haber estado tanto tiempo sin escribir nada, la verdad es que el tiempo no es algo que abunde, sobretodo cuando tienes pendientes 20mil trabajos de programación y 10 personas pidiéndote cada día por Skype cómo los llevas ejem. Y también os recuerdo que en mi canal estoy subiendo una serie de Minecraft (que no tiene nada que ver con informática, pero en mi canal hago lo que me da la gana, ¿no?) así que ya sabéis, si os gusta, ahí está :P

Buenas tardes y feliz fin de semana a todos :D


Easter Egg de PHP, un peligro a tener en cuenta

Como ya sabréis, los Easter Egg son bromas que incluyen algunas compañías de Software en sus productos para reirse un rato. Obviamente, si vemos un Easter Egg en un juego no va a pasar nada, hay Easter Eggs en la mayoría de juegos, e incluso en sitios web, por ejemplo en Google o Youtube (haciéndo click los veréis). Incluso hay algunos más currados en videojuegos que han interferido en la vida real, por ejemplo este Easter Egg de Trials explicado por Alexelcapo, el cual, personalmente, me emocionó.

Una vez sabemos lo que son los Easter Eggs, vamos a ver en que afecta a PHP. PHP posée un easter egg en el cual si entras en una página web (que use php) con este GET: ‘?=PHPE9568F36-D428-11d2-A769-00AA001ACF42‘ podremos apreciar una imágen (hay más Easter Eggs, pero no los indicaré aquí). Lo primero que nos dice esta imagen es que usamos PHP, y lo segundo es la verisón, puesto que cada par de versioens PHP cambia la imagen según el esquema que tenemos aquí abajo:

Tabla de versiones e Easter Eggs.

Tabla de versiones e Easter Eggs.

¿En qué nos perjudica esto?
Al saber nuestra versión de PHP, el atacante puede buscar vulnerabilidades de dicha versión y utilizarlas en nuestra contra, por ello es recomendable desactivar el Easter Egg (como indicaré aquí abajo) y además conviene actualizar siempre a la última versión. Además, en este artículo de Detectify podrás encontrar listas de vulnerabilidades para cada ‘imagen’ proporcionadas por CVE.
Además apareceremos como vulnerables en la mayoría de escáneres de pentesting, podemos ver un ejemplo del mismo Detectify aquí abajo.

Detectados por Detectify

Detectados por Detectify

¿Cómo lo desactivo, entonces?
Muy fácil, solo tenemos que poner a ‘Off’ el parámetro ‘php_expose’ del archivo de configuración de PHP, conocido como php.ini.

Además
Con eso también desactivas el ‘X-Powered-By’ de PHP, que es un header que envía PHP al procesar la página en el cual se indica su versión.

X-Powered-By

Header X-Powered-By

Disfrutad del fin de semana :D


Feliz Año Nuevo

Hola a todos mis lectores, sé que últimamente no he estado muy activo en el blog, se debe básicamente a falta de ideas puesto que me gusta escribir lo que se me viene a la cabeza en un momento, no escribir por escribir, y tener ideas no es algo que pase siempre.
De todos modos tengo pensado hacer algunos tutoriales de como hacer alguna cosa y los acompañaré con un vídeo en Youtube, que siempre viene bien.

Pero básicamente hago este pequeño post para desearos un Feliz Año Nuevo a todos, ya que en Navidad no publiqué nada. En este año han pasado muchísimas cosas en cuanto a informática, hacking y nuevas tecnologías.

Ya que estoy, me gustaría mencionar un suceso reciente, se trata de @LizardMafia, un grupo de cibercriminales que ha conseguido tumbar algunos servidores de juegos como League of Legends, e incluso plataformas de juego como PlayStation Network y Xbox Live, las cuales estubieron inactivas durante 8 minuto a causa de un ataque DDoS por parte de dichos maleantes. La verdad es que yo considero que están sobrevalorados, dudo bastante que todo lo que afirman haber hecho sea real, y casi afirmaría que algunas caídas de los servicios Online de las famosas compañías Sony y Microsoft son provocadas por la gran cantidad de usuarios que han jugado estas navidades.
Además, solo con ver el siguiente twit ya se nota que son unos exagerados, y que aun que es posible que hayan hecho algo, no han hecho todo ellos:


Con ello se refieren a su Booter, que básicamente (como expliqué en el artículo de tirar conexiones de Skype) es un servicio que ofrece hacer un ataque DDoS a una IP a cambio de un pago, en este momento aceptan solo pago en BitCoins y se prevée que los acepten también en PayPal. Ellos afirman haber llegado a 40gbps con su booter como indica la siguiente imágen:

Sea como fuere yo dudo que sea así, pero si consigo más información, o si se sabe alguna detalle, os lo diré por aquí o por mi twitter. Pero ya os digo que no creo que debáis temer por vuestra seguridad.

Sea como fuere os deseo un Feliz Año Nuevo y que los reyes os traigan muchos regalos ;)
Y ahoraaa… ¡A cenaaar!


Bug en Flattr: Registrarse siendo menor

Como sabéis, de momento, soy menor de edad, pero quería hacerme una cuenta en Flattr ya que permite obtener beneficios de donantes (es un servicio bastante interesante creado por Peter Sunde, uno de los creadores de The Pirate Bay) que le dan a un botón de tu página.
El servicio funciona de la siguiente manera: Tu pones un botón en tu página y luego los donantes asignan una cantidad de dinero,  después, el donante va por las páginas, y cuando ve un  botón de Flattr y dicha página o proyecto le resulta interesante al darle al botón se añade a una lista. A final de mes el dinero que asigno al principio se reparte entre todas las págnas/proyectos de esa lista, y de esa manera contribuyen a su desarrollo.

Bueno, volviendo al tema, yo no me podía registrar por que era menor,  y descubrí que simplemente cambiando el valor del selector del formulario me podía registrar con mi fecha de nacimiento real sin que la web me diera ningún problema, no se como funcionarán las fechas,  ni tampoco se si son posteriormente verificadas y se pueden poner bestialidades como 30 de febrero, pero al menos si se lo del registro, tan pronto como publique este post les enviaré un correo para que corrijan el problema y así eviten algunos valores que pueden ser perjudiciales, ya que en ningún momento lo hago por el mal de Flattr, lo que si pediré es si me permiten quedarme la cuenta…

Como podéis observar en la siguiente imágen con tan solo inspeccionar elemento y cambiar el valor de la opción del select a 2014 ya nos vale para cambiar la fecha, y nos deja registrarnos sin problema.

Valor cambiado con Inspeccionar Elemento

Valor cambiado con Inspeccionar Elemento

¿Cómo afirmamos que se guada la fecha introducida?
Si vamos a ajustes de nuestra cuenta con una fecha normal, en el código fuente sale seleccionada por defecto para que nos salga la que tenemos en el formulario, en cambio si miramos el código del registro que hemos alterado notaremos que ese trozo de código de la selección de la opción por defecto desaparede, lo cual significa que no concuerda con los años que seguramente generará un simple bucle for, y por ello no se muestra en ningún sitio, lo que confirma que la fecha alterada ha sido guardada en la base de datos.

Demostración

‘¿A qué viene este post?’ me diréis, bueno, pues más que nada es por que supongo que incluiré Flattr en la página y os voy avisando, además de publicitarlo un poco, no solo para que me ayudéis a mi (si queréis), si no que ayudéis a otros proyectos que lo merecen mucho más que yo y que se ganan la vida con ello y no un Hobby como el mio, además para gente que necesite el dinero más que yo.

Mañana ya es martes y tengo el último examen, lo cual significa que podré dedicar más tiempo al blog y subir de una vez una demostración de por que los chats son inseguros analizando los paquetes con wireshark y desencriptando un chat que crearé en C# en un ratillo. Buenas tardes a todos :)


¿Qué ha pasado con The Pirate Bay?

The Pirate Bay ha caído señores (esperemos que solo sea temporalmente).

Bueno, después de esa frase introductoria en la cual he ido al grano, comunicando a todos mis lectores que el grande de los Torrents ha caído, tengo que decir algo: Volverá.
No puedo asegurar su vuelta, nadie puede, ni tan solo sus creadores (de los cuales por lo que se ve, no se sabe nada), pero lo que si puedo asegurar es que si no vuelve, la cosa no acabará bien, puesto  que The Pirate Bay no solo consiste en la piratería (aun que sea su fundamento), ofrece un servicio de intercambio, de comunicación, como lo describirían sus creadores, y eso se debe conservar a toda costa puesto que es (o era) el mayor Tracker de internet, un 50% de los Torrents los administraba el solito.

Hay esperanza
The Pirate Bay ha infectado cientos de servidores comerciales y, sin que ellos ni sus administradores se den cuenta, se encuentran hosteando la página. El problema no es por los servidores, por mucho servidor que le quiten a los piratas, siempre tienan esas máquinas virtuales en los servidores ajenos, lo cual evita un problema. Un problema es lo que han hecho ahora, han atacado a su balanceador, que es el servidor que decide a que otro servidor accede cada usuario, es decir, el que se encarga de repartir el tráfico. Pero obviamente eso es fácil de reconstruir, solo es un servidor.
Otro problema es el de los dominios, el dominio .se es el dominio de Suecia, lugar dónde se han llevado a cabo las operaciones para desconectar la página, y ellos también tienen control sobre el dominio, pero tienen otros de repuesto segun han informado, por lo que tampoco debemos preocuparnos.

No os fiéis de los clones
The Pirate Bay está caído, por mucho que haya webs como thepiratebay.ee que aparente ser el oficial, no lo es, es más, te piden dinero para acceder a las descargas, las cuales son ilegales y además es obvio puesto que el tracker que las administra está caído.

Ejemplo del timo de los clones

Ejemplo del timo de los clones

Desconozco si ese tracker funciona o es una simple página de phishing, pero no os recomiendo probarlo.

Este post es cortísimo y es pura información sin estructura, solo os pido que vayáis con cuidado, y si, defiendo The Pirate Bay, y por la libertad de expresión tengo el derecho de decir lo que me de la gana en mi blog. Ale, buenas noches, que estoy bastante cabreado hoy.


Páginas:12345