sqlmapproject/sqlmap · error · NotSupportedError

unsupported Firebird wire-crypt plugin %r

Error message

unsupported Firebird wire-crypt plugin %r

What it means

Error "unsupported Firebird wire-crypt plugin %r" thrown in sqlmapproject/sqlmap.

Source

Thrown at extra/dbwire/firebird.py:841

    proof, session_key = _srp_client_proof(_normalize_user(user).encode("utf-8"),
                                           password.encode("utf-8"), salt,
                                           public_key, server_public, private_key, hash_algo)

    wire.send(_pack_int(_op_cont_auth) + _pack_bytes(_hex(proof)) + _pack_bytes(plugin_name) +
              _pack_bytes(b"Srp256,Srp,Legacy_Auth") + _pack_bytes(b""))
    buf = _read_response(wire, user, password)

    enc_plugin, nonce = _guess_wire_crypt(buf)
    if not (enc_plugin and session_key):
        raise NotSupportedError("Firebird server did not offer a supported wire-crypt plugin")
    wire.send(_pack_int(_op_crypt) + _pack_bytes(enc_plugin) + _pack_bytes(b"Symmetric"))
    if enc_plugin in (b"ChaCha", b"ChaCha64"):
        k = hashlib.sha256(session_key).digest()
        wire.set_ciphers(_ChaCha20(k, nonce), _ChaCha20(k, nonce))
    elif enc_plugin == b"Arc4":
        wire.set_ciphers(_ARC4(session_key), _ARC4(session_key))
    else:
        raise NotSupportedError("unsupported Firebird wire-crypt plugin %r" % enc_plugin)
    _read_response(wire, user, password)  # first encrypted message
    return session_key

def _read_response(wire, user, password):
    # a bare op_response reader used during the login handshake (before a Connection exists)
    op = wire.recv_int()
    while op == _op_dummy:
        op = wire.recv_int()
    if op == _op_cont_auth:
        raise OperationalError("Firebird authentication failed")
    if op != _op_response:
        raise OperationalError("unexpected Firebird operation %d during login" % op)
    return _parse_response(wire)[2]

def _attach(connection, wire, user):
    dpb = bytearray([_isc_dpb_version1])
    dpb += bytearray([_isc_dpb_lc_ctype, 4]) + bytearray(b"UTF8")
    ub = user.encode("utf-8")

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at extra/dbwire/firebird.py:841 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/2a76bd29341f0b47. Report an issue: GitHub.