小编Jyo*_*Lys的帖子

如何通过TLS测试POODLE?

我希望能够通过TLS测试POODLE漏洞.

例如,Qualys SSLLabs已经有多种方法可以做到这一点,但它限制性太强(只有互联网上可用的服务器的TCP端口443).还有这个链接,但在测试时我得到了很多误报/否定:http://www.exploresecurity.com/testing-for-poodle_tls-manually/

所以现在我试图修改OpenSSL 1.0.2d的TLS实现,以便能够发送无效数据包(使用openssl s_client ...)并查看服务器的行为.

即使我不熟悉C,我也可以crypto/evp/e_aes_cbc_hmac_sha1.c在第518行的OpenSSL中找到有趣的代码来实现AES-CBC-SHA(根据RFC 2246)的填充:

/* pad the payload|hmac */
plen += SHA_DIGEST_LENGTH;
for (l = len - plen - 1; plen < len; plen++)
  out[plen] = l;
Run Code Online (Sandbox Code Playgroud)

我将其修改为此以便根据RFC更改第一个填充字节以使其不正确:

/* pad the payload|hmac */
plen += SHA_DIGEST_LENGTH;
for (l = len - plen - 1; plen < len; plen++) {
  if (plen == len - l - 1)
    out[plen] = (l + 1) % 256;
  else
    out[plen] = l; …
Run Code Online (Sandbox Code Playgroud)

c security ssl openssl cryptography

9
推荐指数
1
解决办法
1688
查看次数

标签 统计

c ×1

cryptography ×1

openssl ×1

security ×1

ssl ×1