Hace 7 años | Por erdavo a cadenaser.com
Publicado hace 7 años por erdavo a cadenaser.com

Hackea la API de BiciMad y reinventa la aplicación con alertas de estaciones libres, incidencias más fáciles de enviar e integración con Google Maps

Comentarios

D

#13 Amén

angelitoMagno

#23 A los políticos les importa tres mierdas que "hackeen" sus APIS. Para empezar, porque estos servicio están concertados, que alguien saque aplicaciones no oficiales de los servicios de movilidad urbanos les da igual.

Mira lo que dice #19. 6 años con su app y nunca le han dicho nada, y lo único que ha tenido que hacer es adaptar a un cambio de API en dos ocasiones. Y seguro que estos cambios de API son por algo interno de la empresa de autobuses no por "vamos a putear a la gente"

De hecho estas empresas sacan el dinero del uso que se haga de su servicio, no de las APPs. Que haya apps no oficiales les da igual (al contrario, les están dando valor añadido a su servicio sin inversión de ningún tipo)

D

#25 El tema es que la Administración paga para que hayan apps "oficiales". Es a esas apps a las que me refiero.

Que a los políticos luego les dé igual o no que hayan otras apps, dependiendo de cuál sea el contrato, es otra cosa. Lo que deberían hacer es no otorgar contratos a empresas por cosas que está sobradamente demostrado que la propia población podría hacer en concurso libre y mucho más barato. Amsterdam, Londres y otras ciudades llevan lustros haciendo estas cosas con APIs abiertas y con concursos de universitarios y efeperos a los que al final les dan unos miles de euros. En España se cierran contratos en el despacho por millones y luego las webs y las apps oficiales son basura.

D

#31 Es que lo suyo sería que el pago fuera por la API/servicio, no por la app.

elhumero

#25 Presupones que son gratis, pero pueden cobrar por descarga de la App a la administración pública, como los peajes en la sombra.
Contra peor sea, mejor para forzar actualizaciones y otras cosas, con lo que el usuario tiene que descargarla una y otra vez.

angelitoMagno

#62 En efecto, presupongo que el ayuntamiento de Madrid no son así de gilipollas.

elhumero

#71 Y yo presupongo lo contrario.
La razón nos la daría que pudiésemos leer el contrato.

angelitoMagno

#73 Pues búscalo, seguramente sea público. Por ley debería serlo.

A mi me parece tan absurda la idea de que una empresa cobre por actualizaciones de apps defectuosas a sus clientes, que no me entra en la cabeza. Y he trabajado para administraciones públicas.

D

#19 ¿Que aplicación? si los buses en Sevilla no tienen horarios.

D

#19 Hombre Rafa!! Qué de tiempo compañero!! lol lol lol

Decirte que sigo utilizando tu magnífica aplicación de SeviBus. Es lo más práctico del mundo ahora que se pueden guardar paradas favoritas «en la nube».

D

#13 Y esa autenticación que forma tendría para no poder coger el APK de la aplicación oficial y ver los credenciales?

Pongan lo que pongan, si la app oficial puede acceder, y esta en mi teléfono, entonces otra app también podrá acceder.

Luego, podríamos discutir largo y tendido sobre si esto es legal o no. Que vaya contra las 'normas' privadas de uso de una API no signífica que la ley lo prohiba.

De la misma forma que si haces trampas en el parchís no va a venir la policía.

Todo esto es muy nuevo, las leyes están muy lejos de cubrir todos estos aspectos

S

#13 Negativo sin querer, sorry. Compenso en otro.

Neochange

#13 voto negativo por error, mil perdones wall

Neochange

#13 lo peor es que esa API debería ser totalmente pública. Ya que la hemos pagado todos. Al menos en lo que consulta se refiere.

E

#3 la gestión de Bicimad va a pasar de bonopark a la EMT, lo que es peor de cara a aplicaciones...

se cargaron apps súper ligeras y prácticas como Madribus para favorecer a la suya

ann_pe

#27 EMT-Madrid en teoría publica los datos y hay muchas aplicaciones que los usan, entre ellas Transportr que está en F-Droid.


http://opendata.emtmadrid.es/Servicios-web

E

#51 tienen una API pero también unas condiciones de uso. Algunas son más que razonables para que no les peten el sistema. Otras no.

Yo no he tenido que tratar con ellos pero algún meneante sí.

mamarracher

#9 Te he votado negativo sin querer... Lo confundí con "desplegar respuestas"... ¡Te voto otros comentarios positivamente para compensar!

b

#9 Y sobre todo el mismo en las 17 comunidades autónomas, pero claro, igual por decir que me gustaría que con los impuestos pagáramos un sólo software que usáramos todos... igual soy franquista...

verocla

#34 más bien sentidocomunista

D

#9 ahí le has dado. Es exactamente lo que iba a escribir yo. Pero imagino que los politicuchos de mierda no saben de esto.

verocla

#1 Tirar líneas pero en su sentido explícito

T

#1 a mi se me daba bien...

D

#4 Eso habría que preguntárselo a quienes heredaron tu código

T

#12 nadie, me refería a prácticas Mi carrera profesional no me ha llevado a picar código. Aunque se echa de menos a veces, casi es mejor...

D

#14 Tranquilo, que para trabajar de puta programador siempre hay tiempo.

T

#35 Y tanto. Pero es que hace años que no pico una línea, y aunque sólo sea por "recuperar sensaciones"...

D

#43 Pues entonces mejor ve por tu cuenta. Así te ahorras muchas mierdas y poyaques.

D

#1 De mala hostia se tira bastante bien, prueba a tirar código borracho

n

#1 No, no te creas. Salen interfases muy directas.

D

#1 Que dos tíos en su tiempo libre hagan que la app funcione mejor que una empresa dice mucho de los que están a cargo de la gestión de ese proyecto.

BarbaNegra

#1 Lo difícil debe haber sido desensamblar la APP y emularla para luego en runtime ver el código ensamblador e injectarle código para tratar de averiguar claves de cifrado etc... También se habrá pegado un buen ratito este hombre realizando ataque man in the middle para analizar el tráfico HTTP a través de proxy para así obtener los endpoints de la api privada. Sin contar el hacer la aplicación en si. lol

k

#59 seguramente sería híbrida y solo tuvo que descomprimir el apk y ahí estaba todo el código. Aunque entiendo que el comentario era irónico jeje

BarbaNegra

#79 No, el comentario no era irónico. Prueba a hacerle reverse engineering a Instagram Tip: Puedes hacerlo (entre otras cosas) con http://www.frida.re

D

Acabo de instalarla, es la caña. Ahora solo queda que el ayuntamiento la "oficialice" y le de la puntilla a la de bonopark.

katinka_aäå

#5 A corto plazo, que el Ayuntamiento la haga oficial. A largo plazo, que los datos públicos sean abiertos (eso del open data) por ley. Negar el acceso a esos datos es absurdo. Pagar a empresas por software privativo también.

Neochange

#5 te digo lo que van a hacer. Van a cambiar la API para que la aplicación libre deje de funcionar. Y extorsionaran al que ha hecho la aplicación con amenazas de juicios para que la retire.

Nadie les va a quitar ese pastel tan fácilmente.

chotiro_1

#45 yo llevo meses usando Cicleta y va de lujo. Es todo lo que necesito, la verdad. Rápida, usable y siempre con los datos actualizados.

alexruperez

#45 y esta publi? 😛

Redalb

#45 yo también llevo usando casi un año esa app cicleta

n

y por exactamente el mismo motivo la web de hacienda es tan difícil de usar.

Ni hablemos ya del DNI electrónico, eso directamente no funciona.

Corrupción.

Lobazo

Lo que debería hacer el Ayuntamiento es ampliar el servicio BiciMAD más allá de la almendra central, por fuera del perímetro de la M-30

E

#6 más habiendo barrios con ORA fuera de la m30, parquímetro pero sin Bicimad ni car2go

ChemicalX

¿Y por qué se trata al autor de esto de indignado? Ni que esto tuviera que ver algo con el 15M. Parece que quieran seguir perpetuando la asociación de la bicicleta al perroflautismo

P

#53 Y de "hacker"...

m

#54 En sentido estricto usar una API de manera no oficial es un hack.
Lo de indignado sí es una gilipollez suprema.

P

#61 Bueno, yo no lo considero un hack, pero acepto barco

analphabet

#78 #54 En principio lo que ha hecho la persona que ha accedido a la API es:

- Escuchar las solicitudes de la aplicación (si no van con https) o hacer ingeniería inversa sobre la aplicación. Esto para entender como funciona la API.

- Programar un código para saltar la lógica del sistema CSRF (https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)) que tenga bicimad. Este es un tipo de ataque que contempla OWASP.

- Montar una aplicación que combina ambas cosas para poder acceder al servicio haciendose pasar por la aplicación.

Desde mi punto de vista, si ha programado un sistema que se salta una proteccion es un hacker. Otra cosa es que lo use para su beneficio (crear aplicacion == promoción de sus skills), lo cual es entendible, pero además se ha lucrado ya que le han dado 40k euros y ahí ya la cosa no es tan whitehat como puede parecer.

Yo si me pongo del lado de la empresa bonopark, lo que haría, aunque no suene bien, es denunciar a esta persona por estar explotando un fallo de seguridad en su aplicacion cerrada para su beneficio económico.

Si yo hubiera hecho esto, avisaría a la empresa y acordaría con ellos darles una ventana para solucionarlo y posteriormente publicar detalladamente lo que se podía hacer en mi blog. El autor no ha hecho esto, ha hecho una aplicación y está ganando dinero con ello.

P

#81 El tema del CSRF sería suponiendo que el sistema de Bicimad lo tenga, que igual no. Y si lo tiene no sé hasta que punto sería delito saltárselo, una cosa es usar la API y otra realizar algún tipo de ataque.

Además como bien dices se ha lucrado y toda esta publicidad me extraña bastante como para ser un proyecto sin ánimo de lucro...

alexruperez

#81

- Primero, nada de CSRF, simplemente utilizamos su API igual que la utilizan ellos.

- Segundo, solo hemos tenido pérdidas, los $40000 de FbStart son solo en software y SAAS pero ni un euro en cash ni en inversión. No ganamos ni un euro con esto.

- Tercero, a Bonopark hemos intentado contactarles de mil maneras y pasan de nosotros. Ya tengo escrita la auditoría para nuestro blog, al igual que tenemos pensado hacerlo todo Open Source, pero no pienso sacarla hasta que no arreglen la API.

analphabet

#84 Mira, ya que me calzas un negativo a un comentario sin seguir las reglas de menéame (racismo, insulto, spam), y eres el autor de la app, voy a ser más crudo y menos comedido.

Un API está hecho por definición para ser utilizado por otro software como una capa de abstracción. Dado que ellos no han dado su autorización para ser usada, ni la han documentado para tal fin, es trivial deducir que a lo que tú llamas API, realmente es un uso ilícito de sus funciones privadas a las que tienes acceso porque has hecho reversing a la aplicación de android o has escuchado las peticiones en plano.

Por cierto, si dices que has tenido perdidas, entiendo que estamos hablando de algo empresarial con el fin de ganar dinero. Volvemos a lo mismo ¿hacer dinero usando los sistemas de un tercero que no te autoriza a ello? A mi no me parece algo sobre lo que ir presumiendo.

Desde que os han dado un euro para esto, en especias por lo que indicas, el romanticismo del hacker que va buscando fallos de seguridad por compromiso con la comunidad se acaba, y viene la parte empresarial. Y no saldríais bien parados si bonopark os denuncia por lucraros de este modo.

Una pregunta sin maldad ¿para "acceder" a la "API" de bonopark es necesario impersonarse (ej. via user-agent) como si fuerais la aplicación original?

alexruperez

#85

Pues las apps que simplemente ponen iAds o Google Ads, ya están ganando dinero. Las que tienen in-app purchase también. ¿Ves alguna forma de que nosotros ganemos dinero con esto? No, porque no la hay.
Con perdidas nos referimos a gasto en servidores, licencias de las stores, camisetas, pegatinas para los usuarios... Todo eso sale de nuestro bolsillo y no esperamos nada a cambio. Por lo que no, no queremos ganar dinero con esto. En el TechHub explicamos que no teníamos modelo de negocio porque no es un negocio, lo hacemos para pasarlo bien y para que la gente pueda usar las bicis de Madrid sin desesperarse con una app que no funciona.

Lo de "hacker" lo dice el artículo, yo no me considero un "hacker", simplemente me parece mal hacer público el fallo hasta que no lo arreglen, nada de romanticismo... Si Bonopark nos denuncia por lo menos se comunicarían con nosotros, cosa que no ha ocurrido en ningún momento, pero no nos denunciarían por lucrarnos porque eso no ha ocurrido. ¿Consideras lucrarse tres meses de Dropbox o un 15% de descuento para comprar productos de Adobe? Porque es el tipo de cosas que nos ha dado FBStart.

Y a tu pregunta, no, no hace falta cambiar el user-agent, no hace falta saltarse el CSRF, no hace falta ninguna de esas cosas porque la seguridad que metieron a la API después de esto (https://eskerda.com/auditoria-bicimad/) fue nula.

a

#84 Por favor, asegúrate de que lo que reportas incumple realmente las normas.

M

#81 Bueno, en un master de desarrollo de apps ios/android se hizo una app para ver y enviar incidencias de biciMad, sin programar nada para saltarse nada, solo usando peticiones que usa la API.
La podíamos haber mejorado y venderla, no por eso somos hackers 😎 o sí, pero es muy gratuito...no se vulnera nada.

analphabet

#86 ¿Pero la API es pública?
¿En un master (o cualquier tipo de estudios) hacen pruebas lanzando peticiones contra sistemas de terceros alegremente? Por que si es así es para llevarse las manos a la cabeza.

Más cuando por lo que estáis explicando, es un sistema muy básico que se puede simular con un servidor en local y unas pocas lineas de código.

alexruperez

#86 Si sacar las estaciones está tirado, lo que es (un poquito, no mucho, jeje) mas complicado es el login. Aquí mas info sobre este tema:

D

#53 Quizas porque indignado es una palabra del diccionario valida en multitud de situaciones, o van a dejar de usarla porque ahora esta tan ligada al movimiento del 15M? Que no se en que contexto la han usado, pero me gustaria pensar que no se referian a nadie del 15M

D

#56 Si no quisieran darle ese significado habrían dicho "un usuario indignado"

ChemicalX

#56 claro claro y antes de que surgiera Podemos Venezuela nos importaba un montón

D

Curioso que dos chavales consigan mucho más que una empresa de "programadores". Seguramente el Ayto. de Madrid estará pagando a la empresa precios inflados que en un 90% se llevarán sus directivos y en un 10% sus programadores. Por otra parte, seguramente siendo el caso hipotético que planteo una realidad, no me extraña que hayan hecho la app de cualquier manera.

Lo de siempre, si pagas cacahuetes tendrás monos.
Mis felicitaciones por sacar adelante MADBike.

n

#20 No tio, no. Inflado en un 90% no. Están inflados en dos órdenes de magnitud (añade dos ceros).

D

#28 No, me refiero a un 100% contando ya con el precio inflado. En todo caso lo correcto sería ese 100% sin inflar, porque el exceso correspondiente sabemos de sobra que no va a parar a los empleados

A

#37 La charcutera y la de casquería.

D

#20 Más me suena a problemas de poyaques y directivos vendemelones. Fijo que a cualquiera de los programadores les hubiera encantado hacer una aplicación como toca pero "tiene que estar para dentro de 15 días con las nuevas especificaciones que me acabo de sacar de la manga".

Marinmenyo

En Barcelona ya tuvimos lo mismo con el Bicing, un chico creó una muchísimo mejor, hablo de los tiempos en los que android empezó a usarse. La app en si se llama Vicing, (por temas legales cambío la B por la V) y aun conserva la interfaz prácticamente igual. Creo que hace tiempo que no se actualiza.
Un caso mas reciente es el de Próximo Bus Barcelona, que hace palidecer a la aplicación de la TMB que no es mas que una webapp.

n

#26 Yo tengo instalada la del Next Bus, pero no la uso. Uso CityMapper.

Marinmenyo

#30 Tiene buena pinta, aunque por ahora, para combinaciones, google maps ya me hace la faena.

arrestenbrinker

O sobre cómo darle el proyecto a un coleguita que seguramente haya cobrado una pasta y no tiene ni puñetera idea o se la sopla todo.

D

Ese era el plan desde el principio como la web del senado

ann_pe

Hay una API no oficial y un mapa que llevan un tiempo funcionando:


https://citybik.es/map/bicimad

kh_hk

#52 Enlazo al artículo explicando las razones de hacerlo https://eskerda.com/revisitando-bicimad/

j

Qué pena que las administraciones sigan pidiendo hacer portalitos y aplicaciones en lugar de centrarse primero en las APIs y los datos abiertos. De todos modos, en Madrid se ha notado bastante cambio en este sentido desde que llegó Pablo Soto (Ahora Madrid) al Ayuntamiento.

D

Pues ya están tardando en ofrecerle un buen contrato de trabajo y ponerle a ello.... ah no que esto es España pues que le metan una multa por crear software libre a base de APIs ajenas

dicharachero

#33 lo que deberían es liberar la api y permitir que la gente cree las apps. Un concurso para premiar a la mejor con dotación económica.
Y dejar que los usuarios elijan la que más le gusta.

D

No nos olvidemos de que el ayuntamiento de Madrid acaba de rescatar a esta empresa deficitaria, pagándoles un pastón. Luego los fanboys defendían el precio por cosas como las aplicaciones que también se conseguían con la compra.

D

Rolf que grande el tio 👍 .

m

En mi caso (Santander) resulta que tenemos un montón de datos abiertos (http://datos.santander.es/), pero que luego examinas y son coordenadas mal puestas en el mapa, imagenes cortadas o mal codificadas en base64 o datos que no están rellenados correctamente, por lo que cualquier gana de hacer algo se te quita de golpe.

Aracem

Hay un par de estas aplicaciones, entre todas yo me quedo con "Cicleta" para Android.

D

En EE.UU. seguramente le comprarían la app por una buena cantidad y además le contratarían para que siga manteniéndola. En España seguramente seguirán tirando miles de euros en la otra, miles de euros que probablemente se llevara una empresa de marketing sin empleados que ha subcontratado a un programador por calderilla y de ahí el resultado. Y además si pueden le joderan un poquito..

k

En el caso de Gijón las APIs de los autobuses son públicas, pero los responsables municipales estuvieron años ignorando las apps que sacaron los usuarios, y que usaba todo el mundo, hasta que sacaron su app "oficial", que era bastante peor que las de los usuarios, y encima teniendo en cuenta que muchas cosas las copiaba de estos.

M

Qué gratuito es usar "HACKEAR" para todo, ¿eh? Por otro lado, ¿qué tiene de malo utilizar la API de BiciMad para mejorar el servcio?

D

Un aparte.... ¿que significa "programar en español"?

Es la primera vez que leo eso de que "nadie programa en español"

¿Alguna nueva versión de PHP que desconozco? ¿RoR? ¿MontyPython?

alexruperez

#92 Me refería a cosas que nos encontramos como idestacion, numero_estacion, activo, bases_libres, numero_bases, bicis_enganchadas, luz, no_disponible, porcentaje...

De todas ellas me quedo con luz que es un string con un integer dentro... clap