Un cliente SOCKS5 comeza coa versión 5 e logo envía a versión 1 durante a autenticación por contrasinal. Iso non é necesariamente unha degradación nin un proxy incorrecto.

O primeiro intercambio negocia o método de autenticación de SOCKS5. Cando se escolle usuario/contrasinal, o RFC 1929 define unha subnegociación aparte cuxo campo de versión é 0x01.

Esa solicitude de autenticación inclúe lonxitudes e bytes para o usuario e o contrasinal. O servidor devolve a versión da subnegociación e un estado. Só despois de que a autenticación teña éxito o cliente envía a solicitude de destino SOCKS5.

Manteña os dous intercambios separados ao ler unha traza ou implementar un cliente. Repetir 0x05 en todas partes porque o servizo se chama SOCKS5 produce a mensaxe de autenticación incorrecta.

Un estado de contrasinal correcto tampouco significa que o destino solicitado estea permitido. A seguinte resposta SOCKS aínda pode rexeitar esa conexión.

Por último, este método de usuario/contrasinal non cifra as súas credenciais. O byte de versión identifica un formato de mensaxe, non un modo de inicio de sesión cifrado ou máis forte.

Artigos relacionados