Archive for Desarrollo web

Junio 17th 2017

¿Qué es un “full-stack developer”?

Número de lecturas: 394
{lang: 'es-419'}

Normalmente las empresas demandan un full-stack developer cuando buscan una persona técnica, normalmente programador informático, que conozca bien y le sean familiares todas las facetas del front-end y del back-end y los diferentes sistemas operativos y componentes que quedan en medio de esas fronteras.

Actualmente, parece ser que la demanda de programadores de estas características es una tendencia en aumento a la hora de realizar tareas de recruiting, sobre todo en empresas tecnológicas concebidas como startups, ya que al comenzar pocas personas y tener normalmente pocos recursos para contratar desarrollo, sus componentes deben ser capaces de asumir tareas de diferente índole y estar preparados para, al menos, no manejar pero sí conocer las diferentes partes técnicas del proyecto. De hecho, se dice que empresas como Facebook últimamente solo contratan programadores con este tipo de perfil.

Intentando establecer relación con otros puestos y conceptos, en la mayoría de casos un full-stack developer es un programador senior, con cierta experiencia, ya que el perfil requiere saber de muchos campos. Fue Laurence Gellert en su blog el primero en “hablar en alto” sobre este tipo de profesional, allá por mediados de 2012. En el post habla acerca de cómo ve este perfil y las capas que tiene que abarcar un desarrollador full stack, demostrando conocimiento sobre servidores, redes, data modeling, APIs, UI y UX y un buen entendimiento de las necesidades del cliente o consumidor, entre otras.

En resumen, un “full-stack developer” es un programador con un perfil técnico muy completo que conoce bien tanto lo referente a back-end como lo referente a front-end, se maneja en sistemas y sabe entender. Se trata de un perfil cada vez más demandado y bien remunerado. Según Indeed, la media mundial del salario de un full-stack developer en grandes empresas está cerca de los 100.000€.

Mayo 11th 2017

Como instalar GIT en Centos

Número de lecturas: 658
{lang: 'es-419'}
Para descargar código desde un repositorio en github tuve la necesidad de instalar git en el servidor.
La instalación es bastante sencilla.
Primero se deben conectar por ssh (aqui pueden ver como )
Luego basta con colocar la siguiente instruccion 
sudo yum git install

Para verificar la correcta instalación basta con ejecutar lo siguiente: Como suele ser habitual, tan solo ejecuta:

git --version
Abril 6th 2017

¿Qué son las condiciones Yoda?

Número de lecturas: 1372
{lang: 'es-419'}

Como programadores, siempre escribimos condiciones día con día en nuestros archivos, no me dejarás mentir. Y es que esas condiciones, nos ayudan a ejecutar código específico en un punto de ejecución específico.

¡Nos han salvado más de una ocasión!

Las condiciones Yoda

Las condiciones Yoda son un estilo de programación, y consiste en invertir (mover a la derecha) la variable, constante ó función dentro de nuestra condición.

NOTA: La sintaxis aquí mostrada es en PHP.

Hagamos una comparación de igualdad de la variable $texto_inicial con la palabra “Yoda” con la estructura típica de una condición:

if ( $texto_inicial == 'Yoda' ) {
    // Ejecuta el código.
}

Ahora, transformemos la condición anterior en una condición Yoda:

if ( 'Yoda' == $texto_inicial ) {
    // Ejecuta el código.
}


Estructura de una condición Yoda.

¿Notas la diferencia? Sólo tuvimos que mover la variable $texto_inicial a la derecha, y el valor a comparar (Yoda) a la izquierda.

¿Por qué usarlo?

Fíjate en esto, ¿qué pasaría en la siguiente declaración?:

if ( $texto_inicial = 'Yoda' ) {
    // Ejecuta el código.
}

¿Notaste de que solo puse un signo igual (=) en vez de dos (==)?

Bien, el código anterior no estaría comparando nada, si no que estaría asignando la palabra “Yoda” a la variable $texto_inicial. Esto no mostraría ni un error, pero si ejecutaría el cuerpo de la condición.

Nosotros nos pondríamos felices de que el código está “funcionando”. Pero no, haciendo lo anterior, solo estamos provocando un mal funcionamiento de nuestro programa.

Recuerda:

El símbolo de asignación (=), es para asignar valores; mientras que, el de comparación (==), compara si dos valores iguales.

Las condiciones Yoda soluciona éste problema.

¿Dónde aplicarlo?

Debemos utilizar las condiciones Yoda en puras operaciones de igualdad, como:

  • Comparación de valores iguales (==).
  • Comparación de valores y tipos iguales (===).
  • Comparación de valores diferentes (!=).
  • Comparación de valores y tipos diferentes (!==).

No intentes aplicarlo en operaciones relacionales, esto generaría un mal funcionamiento de tu programa (ya me ha pasado).

Por último

Estarás pensando, “pero Roel, yo sé que mi condición está bien porque estoy viendo lo que hago“.

Y yo te digo:

Los errores le ocurren incluso a los profesionales, es por eso que al menos debes saber de qué trata éste estilo de programación; eso, y para presumirle a tus amigos algo más sobre programación.


Aporte hackeruna, proyectos actuales que utilizan condiciones YODA: Symfony, Woprdpress

Fuente:

roelmagdaleno.com

Más información:

http://picandocodigo.net/2010/condicionales-yoda/

La sintaxis Yoda aplicar tú debes

Marzo 17th 2017

QRLJacking, robando sesiones de WhatsApp a través del código QR

Número de lecturas: 1876
{lang: 'es-419'}

WhatsApp es el cliente de mensajería instantánea más utilizado en todo el mundo, lo que hace que también sea una de las aplicaciones más atacadas por los piratas informáticos. Aunque en el pasado hackear WhatsApp era realmente sencillo debido a la inexistencia del cifrado ni de medidas de seguridad, hoy en día esta tarea se ha complicado notablemente debido a las nuevas medidas de seguridad implementadas en esta aplicación. Sin embargo, aún tiene serias debilidades que pueden suponer un peligro para los usuarios, como, por ejemplo, el uso de códigos QR para el inicio de sesión en su aplicación Web.

El pasado mes de enero explicamos cómo los piratas informáticos pueden hackear WhatsApp aprovechándose de un fallo en la generación de los códigos QR que podía permitir a un atacante hacerse con el código de otra persona, iniciar sesión con sus credenciales y poder leer los mensajes de WhatsApp sin dejar rastro de actividad.

Esta técnica, aunque preocupante, es bastante complicada de llevar a cabo y tiene muchas limitaciones a la hora de ponerla en práctica, como, por ejemplo, que solo un usuario puede utilizar WhatsApp Web a la vez (por lo que, si la otra persona lo intenta usar, nos echará de la sesión a nosotros) y que los ordenadores “de confianza” siempre se muestran en el cliente de mensajería.

Aunque esta técnica es bastante complicada de llevar a la práctica, no es la única que se aprovecha de los códigos QR para hackear WhatsApp, y un ejemplo de ello es QRLJacking.

Así funciona QRLJacking, la técnica para hackear WhatsApp utilizando un solo código QR

QRLJacking es un sencillo vector de ataque informático basado, principalmente, en la ingeniería social con el que simplemente debemos engañar a un usuario para que escanee un código QR con la aplicación que deseamos hackear, por ejemplo, WhatsApp, para poder tomar el control de su sesión de forma remota.

Para llevar a cabo este ataque, lo único que necesitamos es acceder al repositorio oficial de QRLJacking y descargar lo necesario para ponerlo en funcionamiento. A continuación, montaremos un servidor web con el fichero “qrHandler.php” encargado de convertir el código de inicio de sesión a base64 y, posteriormente, en una imagen jpg y “phishing.html”, la página que utilizaremos para llevar a cabo el ataque.

Una vez que el servidor está en funcionamiento, necesitaremos un navegador web como Firefox capaz de inyectar el script “WhatsAppQRJackingModule.js” al visitar una web como “https://web.whatsapp.com”. Cuando esta web genera el código QR, el script lo envía al servidor que hayamos configurado en el paso anterior para suplantarlo con el código QR generado por el fichero PHP.

Código QR WhatsApp Falso

Si la víctima cae en este tipo de engaño, el atacante recibe la sesión de WhatsApp en su navegador web. Es decir, en el mismo sitio dónde el plugin de Firefox está inyectando el código JS para capturar el QR Code original de WhatsApp.

Cuando la víctima escanea dicho código (utilizando ingeniería social, por ejemplo, con que nos ha tocado un premio), ya tendremos el control sobre la sesión de WhatsApp de la víctima.

Además de WhatsApp, esta técnica es totalmente funcional con otras muchas aplicaciones y plataformas que basan su inicio de sesión en códigos QR, como AirDroid, Alibaba, Aliexpress, WeChat, Line y Yandex, entre otras.

decir que existe otro vector que el ataque de Man in the Middle en una red de área local. Con este ataque un atacante podría lograr inyectar el QR Code en páginas legítimas, realizando un ataque, quizás, más real. Sea como sea, interesante prueba de concepto que nos ayuda a ver lo fácil que puede ser, en algunas ocasiones, que caigamos ante las múltiples amenazas que tiene Internet. La ingeniería social sigue avanzando y mejorando ante las nuevas tecnologías que van apareciendo, por lo que la concienciación y el buen uso de éstas es algo vital para estar un poco más seguro en la red.

Cómo protegernos del QRLJacking

Como podemos ver, el principal factor de esta técnica de hacking es la ingeniería social, es decir, el engaño. Nadie regala nada a través de Internet, por lo que lo primero que debemos hacer es evitar caer en este tipo de engaños, y mucho menos escaneando código QR de webs o fuentes extrañas, como un banner, con WhatsApp o cualquier otra aplicación.

Además, también debemos evitar iniciar sesión con nuestras cuentas en navegadores y ordenadores que no sean de total confianza, ya que sin la previa instalación e inyección del script JavaScript, esta técnica no podría ser posible.

Por último, en el caso concreto de WhatsApp, nunca está de más revisar los ordenadores que tienen acceso a su aplicación Web, eliminando el permiso a todos de vez en cuando para evitar estos problemas.

————————————————–

Fuente:

redeszone.net

Más información:

http://www.flu-project.com/2017/03/qrljacking-tecnica-con-la-que-los-malos.html

https://github.com/OWASP/QRLJacking/wiki