domingo, 30 de mayo de 2010

Form Tampering en osCommerce

osCommerce es una aplicación web de código abierto que nos permite gestionar nuestra propia tienda virtual de forma facil, rápida y gratuita, tal vez por ello es una de las plataformas más utilizadas.

Los miembros de la comunidad osCommerce se encargan de mejorar la plataforma y de dotarla de nuevas funcionalidades así como de corregir algunos de los problemas que van surgiendo con el paso del tiempo.

Hoy queria comentar un caso de Form Tampering (manipulación de formularios) en uno de los módulos de dicha plataforma, concretamente el módulo "Points and Rewards", un módulo por el cual se premia a los usuarios con una determinada cantidad de puntos al realizar sus compras. Además, al registrarse en la tienda virtual obtienen una determinada cantidad de puntos como regalo de bienvenida. Estos puntos pueden ser transformados en descuentos en futuras compras.


Por un error en la implementacion de este módulo, la cantidad de puntos a descontar de la factura no era validado en el servidor por lo que se tomaba como correcto el valor que procedía del formulario contenido en la página checkout_payment.php de forma que era posible manipular dicho formulario (form tampering) e incrementar el número de puntos mediante un simple javascript.

Valor original:
Modificación del valor:


Al no realizarse una validación en el servidor, el descuento que se aplicaba en la factura era el indicado en el código javascript y no el valor original de forma que era posible realizar compras con grandes descuentos.


Este error fué solucionado a finales de febrero de 2009 pero a dia de hoy algunas tiendas online siguen utilizando versiones vulnerables lo que puede ocasionarles notables perdidas.


La actualización del módulo "Points and Rewards" se puede descargar desde aquí.

No hay comentarios:

Publicar un comentario