Para los que no saben lo que es la tarjeta bip:
Este sistema de pago del transporte público de Santiago, tiene un sistema que nos permite monitorear en línea los saldos y los movimientos de nuestra tarjeta y de ésta forma saber dónde cargamos con dinero la tarjeta, en qué buses o metro la usamos, cuánto salgo nos queda, etc. Este sistema no es en tiempo real por lo que asumo que no saca los valores directamente de la base de datos del sistema de transporte, además desconozco si tiene permisos para escribir en la base de datos o solamente leer.
El sistema tiene un bug que nos puede permitir, con un poco de ingenio, hacer un ataque de denegación de servicio distibuido (DDoS) y dejar el sistema (de saldos y mov. en linea) offline y posiblemente realizar inyección de código SQL (SQL-Injection) . No me he puesto a investigar que otro impacto podría tener.
El sistema nos permite ver la cantidad de movimientos y saldos de nuestra tarjeta por periodos de mes actual, 60 y 90 días, sin embargo, es posible modificar esos valores alterando el atributo "value" del elemento del formulario. Si, así de sencillo.
Código HTML original:
PRE0
Pruebas de concepto (PoC)
1. Modificamos el valor de "Mes Actual" por un número negativo.
Y ejecutamos la consulta:
2. Modificamos el valor de "Mes Actual" por el número 5.
Y ejecutamos la consulta:

Si se fijan en la fecha, podrán ver que sólo se mostró información desde hace 5 días.
3. Modificamos el valor de "Mes Actual" por una comilla para generar un error de sintáxis:
Y ejecutamos la consulta:
Si cambiamos el valor de "Mes Actual" a uno muy alto, por ejemplo 99999999999999999999999999999999999999 podemos ver cómo el sistema ya comienza a comportarse de forma extraña, por ejemplo ver la fecha:
Operación: Cartola de movimientos Tarjeta bip!: 6547XXXXX Fecha: 11/02/2010 10:57 Movimientos desde: 90/37/-2.7
De ésta forma podemos manejar arbitrariamente la consulta.
Queda más que demostrado que el famoso sistema para ver los saldos y movimientos en línea de la tarjeta bip no está validando los parametros de entrada y con un poco de ingenio podemos realizar distintos tipos de ataques. Se pueden generar simultaneamente consultas pesadas en el servidor, provocando su caída. Tambien, con un poco más de conocimientos y habilidades es posible lograr la inyección de código sql en la consulta.


Saludos
jajaja
6:45 hrs AM llego al mts alas 7:00 AM horas mts se demora hasta los dominico 35 minutos mas menos 7: 35 AM tomo la b9 hasta bulnes correa con quebrada honda alas 8: 10 AM o menos
lo ridículo del sistema las horas no están ni cerca la primera micro que tomo 6:45 AM EL SISTEMA DICE QUE LO TOME LAS 10:45 HORAS Y SUCESIVAMENTE ese parámetro las horas es importante , porque el usuario sabe a que hora se subió ala primera micro para hacer un seguimiento en la casilla de movimiento y saldo un sistema malo como los creadores de esta MIERDA DE MOVILIZACION COLECTIVA TERMINAR CON EL GRAN SANTIAGO ALA BASURA me cagaron en dos pasajes y quien sabe en cuantos mas