Skip to content

Missing some params in TLS handshakes #651

@Seanstoppable

Description

@Seanstoppable

I'm trying to upgrade zgrab2, and was running into issues parsing some some HTTPS responses.

Digging in, it looks like that that the upgrade of zcrypto in PR 73944fc includes a bug where params are not being returned.

Example:

echo 44.201.23.212 | ./zgrab2 http --use-https --port 443 | jq .

Has the y value of the client public (and server public) section missing. Currently unsure if other fields are missing/if other key exchange types are impacted.

Before PR:

"client_key_exchange": {
                  "ecdh_params": {
                    "curve_id": {
                      "name": "secp256r1",
                      "id": 23
                    },
                    "client_public": {
                      "x": {
                        "value": "u+wDV175UmrKs3LKDIk+fv/4tGacx+p1zNvBQKZeJLw=",
                        "length": 256
                      },
                      "y": {
                        "value": "wTH+YyAbZlq+YD+0arRG1n2XMov5FsrOqqIB5+cFtVE=",
                        "length": 256
                      }
                    },
                    "client_private": {
                      "value": "JcqpI2SK9iqxNgyMUzo8iCI/xQoH0nm9LgBZQdRd4Yc=",
                      "length": 32
                    }
                  }
                },

After PR:

"client_key_exchange": {
                  "ecdh_params": {
                    "curve_id": {
                      "name": "x25519",
                      "id": 29
                    },
                    "client_public": {
                      "x": {
                        "value": "JyC9lf3rfMIe0eTx1ylKqpbwgyu2lxz1207bYsq90FM=",
                        "length": 256
                      }
                    },
                    "client_private": {
                      "value": "3qr3ofRE2k2d2eYuMzLukDBwQp2x85ZUqtm3uPL2kKk=",
                      "length": 32
                    }
                  }
                },

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions