Lunes 27 de Agosto de 2018: Una limosnita por favor, un pesito pa’ un taco

Querido Diario…

Hace un tiempo, en la reunión mensual del Mexicali Open Source Group; conocí GraphQL, que es un proyecto que desarrollo Facebook para poder hacer requests de un solo golpe, que con REST no es posible de hacer. Para eso envían las requests en una estructura definida coff.. coff… en mi opinión muy parecido a lo que se hacía con los WSDL, pero bueno 😛 estamos en el tiempo de las tecnologías hipster.

Básicamente GraphQL está aun muy joven, lo que hace que nuevamente las vulnerabilidades que ya se habían visto hace mucho, vuelvan a aparecer. ¿Y cual es la vulnerabilidad más común que se reportaba en los web services, cuando WSDL o REST?. Así es, problemas en la autorización.

Una request básica usando GraphQL se ve así (ahhh si, yo la ordené para que se viese bonita, porque si tú la sacas directo del HTTP Proxy vas a ver todo en una línea y no lo vas a ver bonito, pero si va así):

POST /accounts/REMOVED/graphql HTTP/1.1

{
  currentUser {
    email
    currentAccount {
      name
      licenseKey
      capabilities {
        name
      }
      apmSubscription: subscription(productLine: "apm") {
        productLine
      }
      infraSubscription: subscription(productLine: "infrastructure") {
        trialEligibility {
          state
        }
        trial {
          endTime
        }
      }
    }
  }
}

Y el response se ve así:

{"data":{"currentUser":{"email":"redacted@gmail.com","currentAccount":{"name":"This is the account name", "licenseKey":"95d24ccefada021a6REDACTED","infraSubscription":{"trialEligibility":{"state":false},"trial":null},"capabilities":[huge list of capabilities],”apmSubscription":{"productLine":"apm"}}}}}

Bueno, bueno.. puede que no te hayas dado cuenta, pero esto que se ve acá es básicamente el response de un administrador; ¡un administrador!, y no un usuario normal. ¿Qué cómo lo sé?, pues porque sé que información da un usuario normal y un administrador, ¿qué como tú lo sabes?… pues he allí el problema.

No lo puedes saber a menos que te encuentres haciendo un assessment tipo DiD o Gray Box con más información; porque sino pues básicamente ves mucha información, pero nada te va a hacer sentido.

Y así… así perdí hoy un bounty de $300 dlls, porque soy incapaz de evidenciar que esta información es sensible, sin que el desarrollar me confirmé un test case de mi request y response.

¡Tecnologías hispter del mal!

Querido Diario… #cachanillas grr.. u.u … 😛

Me duele todo… me siento como si hubiese dormido tre… ouuu… dormí tres semanas. Ahora todo tiene sentido.

En el hospital escuché muchas veces está canción… y me gusta mucho; la tengo en la cabeza todo el tiempo.

No estoy muy seguro si en verdad pasó, pero recuerdo que a las enfermeras les hacía “brrr… brrr…” 😛

Marcar el Enlace permanente.

4 comentarios

    • Si, he estado revisando una aplicación que extrae reportes de unas plantas industriales; y cuando envío una petición puedo sacar los datos sin importar el usuario con el que lo haga, nada más necesito saber la estructura.

      Entonces levante un ticket para preguntar, el programador me paso los test cases y así lo probé, pero me rechazaron porque dijeron que tenía que hacerlo en modo black box =/

      Pero en fin… así es la vida en los bug bounties 😛 … es divertido, siempre y cuando comer no dependa de eso. Hoy mandé otro, menos grave, espero ese si lo acepten.

      No es por el dinero, pero la verdad estoy muy aburrido de no hacer nada y esto me divierte.

  1. Y… Respecto al hospital ¿?

    • Ouuuu… en el halloween pasado fui a muchos hospitales 😛 jajaja vestido de dinosaurio.

      Un tipo se emborrachó mucho; bueno… coff coff alguien le ponía las botellas en la boca y lo retaba a beber 😛 esos cachanillos que no aguantan.

      Ya como a las 4am solo quedábamos pocos, y una amiga y yo, quienes éramos los sobrios, fuimos por tacos. Y de pronto, un amigo llamado Zavala le marcó y le dije “Anna, corre que tu amigo se cayó por la azotea”, ella me dijo y yo “naaaah… ¿como se va a caer si es un bulto?, no le creas… todo para llevar, por favor” jajaja y luego íbamos subiendo al coche y me marcó otro amigo llamado José Luis 2, y dije “hum… esto ya empieza a ser raro”. Llegamos y al abrir la puerta los dos estaban cargando a un tipo todo lleno de sangre 😛 jajaja

      Yo en ese momento me asusté jajaja creí que estaba muerto jajaja

      Entre mi amiga Anna y yo lo cargamos y lo llevamos a la Cruz Roja que está en Lázaro Cárdenas, y allí lo pasaron y el enfermero sólo le vació una botella de alcohol. La empezó a escupir con dientes y lo ensució y dijo “hey tú… ¿Que te pasa?” Y se enojo y nos corrio, entonces fuimos al ISSSTE pero no nos aceptaron porque no tenia suscripción, entonces fuimos al lado al hospital general, según lo iban a atender, me perdí, y cuando salí nos querían cobrar 😛 entonces lo llevamos al lado, al IMSS y allí si lo atendieron.

      Y yo me quede dentro para llevarlo a los análisis, porque lo pusieron en una silla de ruedas. Y mientras estaba allí una muchacha dijo “¿que es eso?, ¿eres un dinosaurio?” Y yo si… y todas “¡inflate!” Jajajajaja así que en algún sitio hay fotos en plena sala de urgencias de toda las redisidentes tomándose selfies con tu T-Rex jajajajajajaja jajajajaja 😛

      Y el tipo estaba tan en shock, y además que de verdad no nos conocíamos, qué solo decía “gracias Dino, qué buen amigo eres, gracias Dino” jajaja

      Hace poco vi a esa amiga y solo me dijo “Elliot se acuerda un buen de ti”, y yo “¿a poco?”, “si, siempre dice ¿y no has vino al Dino?” 😛

      Jajajaja estuvo muy traumatizante y fea la noche, porque hasta el día siguiente Max y yo estábamos limpiando, y encontramos pedacitos de sus dientes. Pero al final todo salió bien, y fue muy chistoso 😛 jajajaja

      Si un día alguien te dice “un día estaba haciendo mi guardia y apareció un dinosaurio en el hospital” 😛 ese era yo jajaja

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *