PDA

View Full Version : TPV Caja Rural



michael_s
11-06-2007, 03:12 AM
EsTE MÓDULO TIENE UN GRAVE FALLO DE SEGURIDAD

¡Hace público parámetro CIP!

Para que realmente una firma garantice la integridad de un mensaje es imprescidible que

cualquiera no pueda generar una firma válida, por lo que en el proceso de firma hay una

clave. Esta clave tiene que ser secreta. En ceca le llaman clave de encriptación, en el BBVA

palabra secreta, en servired palabra secreta o clave secreta etc... en el caso de ¡CajaRural

se llama CIP!

El módulo publicado muestra el valor de este campo, que debería ser secreto como campo

hidden en el formulario que se envía a CajaRual, cualquiera lo puede ver oulsando en mostrar

código.

¿Que peligro tiene esto? Si cualquier puede generar una clave válida podriamos hacer una

compra de 1000? modificar el importe a 0,01? generar una firma válida para este nuevo

importe y procesar el pedido, con lo que en la tienda constaría como pagado el pedido y en

caja rural nos habrían admitido el pago de sólo 1 céntimo.

Como solución:
Primero quitar ese hidden del formulario.
Segundo en los ficheros a compilar que dan los de Caja Rural va "hard codeado" ese código

por lo que el ejecutable generado debería ser secreto y no público como en

http://bullbikes.com/Firmar ya que si es público podemos generar una firma válida incluso

sin conocer el CIP. Lo suyo sería modificar los ficheros a compilar para que acepte como

parámetro el CIP.

Adicionalmente usar este método, tiene los peligros adicionales de necesitar el safe_mode a

off y tener habilitada la función exec(). Caja Rural permite contratar el TPV con la

modalidad de firma por sha1 . Esta modalidad sin duda es la que convendría usar en tiendas

osCommerce.

Por último, también es altmente recomendable cambiar el valor del CIP que por defecto suele

ser 111111 , por lo que poco tiene de secreto.

More... (http://addons.oscommerce.com/info/4997)