c - 中间人攻击 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!");
解决方案
推荐阅读
- jquery - 在 chrome 浏览器中,视频无法在引导模式内播放
- algorithm - 如何在O(lgn)中的红黑树中将所有大于或等于K的键值增加D
- vue.js - 如何设置更改路线之间的延迟
- python - Python - 通过与另一个 df/list 的列比较过滤 DataFrame
- c++ - 多个 Pimpl 类相互使用
- c# - 实时捕捉用户输入错误
- java - 如何将 JSON 数据添加到数组中?我想在单击任何按钮时更改数据
- swift - SWIFT - 从不同的类获取更新变量
- python - 给定两个文本的匹配词的索引
- java - Spring Boot websockets 处理 STOMP 消息