首页 > 解决方案 > 中间人攻击 SLL_Accept 失败,抛出错误:140760FC:SSL 例程:SSL23_GET_CLIENT_HELLO:未知协议:

问题描述

我尝试使用 C 进行中间人攻击,成功获取 HTTPS 目标主机,SSL_connect 到服务器并创建假证书成功,当我尝试SSL_accept客户端套接字时,它失败并且 SSL_error: error:140760FC:SSLroutines:SSL23_GET_CLIENT_HELLO :未知协议

 int socket_to_server = open_client_socket(p->client, p->host, p->port);
    // create ssl connect by server socket
    ssl_to_server = SSL_to_server_init(socket_to_server);
    if (SSL_connect(ssl_to_server) < 0)
        SSL_Error("Fail to connect server with ssl!");
    printf("%d, SSL to server\n", sum);

    // get server cert and fake 
    fake_x509 = create_fake_certificate(ssl_to_server, p->key);
    // use fake cert create client SLL connect
    ssl_to_client = SSL_to_client_init(p->client, fake_x509, p->key);

    if(ssl_to_client == 0)
    {
        SSL_Error("SSL to client Failed!\n");
    }
    if (SSL_accept(ssl_to_client) <= 0) // failed there, error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
        SSL_Error("Fail to accept client with ssl!");

标签: copensslman-in-the-middle

解决方案


推荐阅读