重新创建由Fiddler解密的HTTPS请求?

时间:2014-04-12 21:14:14

标签: encryption https httprequest fiddler winhttprequest

我使用fiddler捕获并解密了HTTPS请求。它看起来像这样:

CONNECT qwer1234.com:443 HTTP/1.0
User-Agent: Blabla Example/1.0
Host: qwer1234.com:443
Content-Length: 0
Connection: Keep-Alive
Pragma: no-cache

A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.

Version: 3.3 (TLS/1.2)
Random: 13 35 55 0B F2 3C 9D A3 A2 C2 E4 3E 66 FA D3 DD E5 15 27 33 F1 E6 CD A5 E0 C4 10 4E 41 67 32 8E
SessionID: empty
Extensions: 
    renegotiation_info  00
    server_name qwer1234.com
    status_request  01 00 00 00 00
    elliptic_curves secp256r1 [0x17], secp384r1 [0x18]
    ec_point_formats    uncompressed [0x0]
    signature_algorithms    00 01 06 07 05 08 03 09 04 03 06 04 04 07 01 09
    SessionTicket   empty
Ciphers: 
    [003C]  TLS_RSA_WITH_AES_128_CBC_SHA256
    [002F]  TLS_RSA_AES_128_SHA
    [003D]  TLS_RSA_WITH_AES_256_CBC_SHA256
    [0035]  TLS_RSA_AES_256_SHA
    [0005]  SSL_RSA_WITH_RC4_128_SHA
    [000A]  SSL_RSA_WITH_3DES_EDE_SHA
    [C027]  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    [C013]  TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA
    [C014]  TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA
    [C02B]  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    [C023]  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    [C02C]  TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    [C024]  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    [C009]  TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    [C00A]  TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    [0040]  TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
    [0032]  TLS_DHE_DSS_WITH_AES_128_SHA
    [006A]  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
    [0038]  TLS_DHE_DSS_WITH_AES_256_SHA
    [0013]  SSL_DHE_DSS_WITH_3DES_EDE_SHA
    [0004]  SSL_RSA_WITH_RC4_128_MD5

Compression: 
    [00]    NO_COMPRESSION 

这是一种特殊的HTTPS请求吗?为什么只有一半的请求被删除?随机生成的数字意味着什么/它们是什么?如何使用WinHttpRequest发送此请求?它与其他HTTPS请求有何不同?

我很难找到合适的地方来提问这样的问题。告诉我你是否认为我应该在另一个页面上询问这个问题,如果是的话,在哪里。

1 个答案:

答案 0 :(得分:3)

这根本不是HTTPS请求,它是一个CONNECT隧道,HTTPS流量随后通过该隧道流动。客户端应用程序首先向代理发送CONNECT请求(如Fiddler),告诉他们在何处建立TCP / IP连接,然后在连接建立后,执行HTTPS握手并发送请求。

当向您显示CONNECT隧道时,Fiddler会分析参数并显示它们供您阅读。当且仅当您在工具>中启用了HTTPS解密时,实际的HTTPS请求才会出现在Web会话列表中的此隧道之后。提琴手选项> HTTPS屏幕。