Compilado de enlaces

Buenas buenas…

Este es un compilado de enlaces.

Un abrazo,
Pedro

Compilado de enlaces.

Hola a todos!

Este es el compilado de enlaces numero mil quinientos treinta y cuatro del mes. Mirando por arriba los links que voy a poner se va a tratar sobre seguridad informatica.

Un abrazo,
Pedro

Compilado de enlaces

大家好, hola a todos!

Este es un compilado de enlaces mas para sumar a la larga lista de compilados de enlaces que venimos compilando por aca.

Eso es todo!

再见!
小佩

Hackeando con matemáticas y números.

Esto podría ser aparente para cualquiera que haya estado trabajado en seguridad por algún tiempo, pero yo (siendo un noob) recientemente descubrí una propiedad muy interesante respecto a los números.

Consideremos en código a continuación:

    <?php
    $amount = $_GET['amount'];
    $price = '300';
    $user_balance = user_balance_get();

    // Actualizamos el balance del usuario para reflejar la compra.
    $user_balance = $user_balance - ($price * $amount);
    user_balance_set($user_balance);

Los números tienen una gran cantidad de propiedades que tenemos que considerar a la hora de testear la seguridad de una aplicación, que, nuevamente, son obvias para la gente inteligente pero siempre es importante repetir para aclarar.

  •  Multiplicar un número negativo por un número positivo nos va a dar como resultado un número negativo.
  • Al sumar un número positivo con un número negativo, se substraerá el valor absoluto del número negativo al número positivo. (por ej. 300 + (-200) va a dar como resultado 100.)
  • Lo inverso tambien es cierto. Restar un número negativo a un número positivo resultará en una suma.

Cosas básicas. Aplicar esto a la seguridad informática, sin embargo, es interesante. Viendo el código que escribí mas arriba, y habiendo mencionado los hechos que acabo de mencionar, debería ser aparente que el código es vulnerable.

La línea de código responsable de actualizar el balance de los usuarios (una operación muy riesgosa, desde el punto de vista de la seguridad) es:

    $user_balance = $current_user_balance - ($price_of_item * $user_submitted_quantity)

Esto es interesante porque nos permite aumentar el balance del atacante enviando números negativos. Si ponemos -1 en la cantidad, por ejemplo, sucedería lo siguiente:

    $user_balance = 1000 - (300 * -1)
    $user_balance = 1000 - ( -300 )
    $user_balance = 1300

Ka-ching! Así da gusto ir a comprar cosas.

El nuevo balance es mayor que el balance anterior, lo que significa que logramos una ganancia con esa compra. Otra situación que puede demostrarse como muy enriquecedora para nosotros como atacantes, es si pudieramos transferir plata entre diferentes usuarios (como por ejemplo, el sistema de transferencias de paypal, o un banco).

Consideremos el siguiente código:

    <?php
    $receiver = User(id=1);
    $sender = User(id=2);

    $amount = $_GET['amount'];

    $receiver->balance_set($receiver->balance + $amount);
    $sender->balance_set($sender->balance - $amount);

Parece bastante sencillo, y no particularmente inseguro. Poniendo un número negativo en el parametro “amount”, sin embargo, va a causar que el balance de la persona que reciba la transferencia disminuya, mientras que el balance de la persona que envía el dinero aumentará. En una manera muy real, el emisor esta robando dinero del receptor.

Antes de cerrar el post, otras cosas que pueden ser interesantes cuando lidiamos con aplicaciones son:

  • Integer overflows. Enviar un número muy grande (o muy pequeño, en los negativos), puede tener como consequencia que evitemos filtros como “solo números menores a X”, o viceversa.
  • Checkear que la aplicación no acepte operaciones matemáticas en lugar de números, como por ejemplo “10 + 10 + 10 + 10″
  •  A veces las aplicaciones pueden checkear por algo, por ejemplo, que el número sea menor a 50, y luego convierten el número a su valor absoluto. En esos casos, puedes enviar un gran número negativo y evitar el filtro.

Un abrazo grande,
Pedro

Compilado de enlaces

#define COMPILADO_ENLACES 1

Compilado de enlaces

Hola a todos!

Como ya es costumbre, y cerquita de las fiestas, un compilado de enlaces!

Un abrazo grande,
Pedro

Compilado de enlaces

El compilado de enlaces 71, HAY QUE FESTEJAR!!!!!!!!

Les dejo abajo unos enlaces muy buenos ehhhhhhhh deja vu mal.

Un abrazo!
Pedro

Google abandona los estándares abiertos, actuando en contra de los intereses de sus usuarios.

Luego de que Google abandonara, luego de años de estar online, su servicio de RSS, anuncia ahora que mas cambios han de venir: un análisis hecho por la EFF, de título “Google abandona el apoyo de los estándares abiertos para la mensajería instantánea“, declara que los cambios no van a favor de los usuarios:

En medio de la conferencia anual I/O de Google, se hizo un desafortunado anuncio: En distintos lugares de su infraestructura, la compañía está reemplazando la plataforma “Talk” por la plataforma “Hangouts”, lo que disminuye significativamente el soporte de el protocolo de mensajería abierto conocido como XMPP (también mencionado informalmente como Jabber)

Se menciona que los cambios debieron hacerse para adaptar su nueva plataforma (Google+), pero presenta puntos a considerar, como por ejemplo el hecho de que el abandonar el estándar causa que los usuarios estén atados a utilizar Google+, y por lo tanto su única posibilidad de conectarse con los usuarios de Google+ a través del chat sería a través de el protocolo privativo de Google:

El apoyo de Google por el protocolo XMPP significó en su momento que los usuarios podrían chatear con gente en otros servicios de mensajería, o incluso con aquellos que tuvieran sus propios servidores […]

Esto es importante por muchas razones. Una de las principales es que ninguno de los clientes de Google soporta Off-the-Record (OTR) encryption, que se está convirtiendo en un componente crítico de la comunicación segura online. Si ambos participantes de una conversación usan OTR, tienen una comunicación segura de principio a fin, lo que significa que nadie excepto ellos dos — ni siquiera su proveedor de Internet — puede leer sus mensajes.

En el pasado, Google hizo otro cambio que imposibilita configurar el nivel de logging que queda guardado en los servidores. De su página de soporte:

Hemos hecho cambios a la configuracíon de historia de Google Talk y Google Chat. Todavía podes hacer que chats individuales queden “off the record”, pero no vas a tener la opción de hacerlo globalmente.

Estos cambios están llevando a cuestionar los intereses por los que se mueve Google, [1] [2] un giro interesante de eventos, porque Google tiene una larga historia apoyando la cultura Open Source y de promover los protocolos abiertos, tal como promovió XMPP en el 2005:

La misión de Google es hacer la información del mundo universalmente accesible y útil. Google talk, que le permite a los usuarios instantáneamente comunicarse con amigos, familia y colegas usando su llamadas de voz y mensajería instantánea, refleja nuestra creencia de que las comunicaciones debería de ser accesibles y también útiles.

Sin llegar a juzgar a Google por sus acciones, es evidente que su modelo de negocios (los anuncios [3], y el forzar a sus usuarios a una plataforma de la que no pueden salir, también conocido como “walled garden”) esta yendo en contra de la privacidad de los usuarios.

En sus explicaciones publicas, Google dijo que fue una decisión dificil, tomada por requerimientos técnicos. Pero incluso si este protocolo responde a necesidades técnicas, eso no debería evitar que la compañía lo haga público e interoperable. Publicar las especificaciónes de Google Hangouts sería un buen primer paso. Publicar código gratuito/libre debería suceder después de eso. Es claro que algunas funcionalidades se han implementado de manera muy específica a Google, pero eso no debería ser una razón para llevarnos a un mundo donde las únicas posibilidades prácticas son protocolos de chat privativos.

Compilado de enlaces

Hola a todos!

Una seccion mas de el compilado de enlaces, compilando todo lo compilable.

Un abrazo,
Pedro

Compilado de enlaces

Hola a todos!

A continuacion, un… un……… un………………… COMPILADO DE ENLACES!

Eso nomas!

Un abrazo,
Pedro