以十六进制数进行加法并将结果追加到较大的十六进制字符串的结尾处的好方法是什么?我正在尝试格式化一个字符串以用于填充oracle攻击。这些字符串将连接在一起形成一个HTTP请求。Python - 以十六进制数向上
我有一个两个32个字符的十六进制字符串。 'g'是猜测,pad是填充oracle。基本上我需要做的是有G的最后一个字节十六进制0x00到0xff.The代码我至今计数是:
split = [value[x:x+32] for x in range (0, len(value), 32)] #Split the CT into 16 byte chunks
IV = unhexlify(split[0])
c0 = unhexlify(split[1])
c1 = unhexlify(split[2])
c2 = unhexlify(split[3])
g = unhexlify("00000000000000000000000000000000")
pad = unhexlify("00000000000000000000000000000001")
pad_xor_guess = xorb(g, pad)
c1_prime = xorb(pad_xor_guess, c1)
attack = str(hexlify(c1_prime + c2).decode())
“攻击”将被传递到查询方法将追加攻击字符串的网址。现在我坚持的是我必须发送多达256个HTTP请求来猜测明文的一个字节。我如何使用for循环从00到ff“count up”,将结果附加到g,使其可以与pad和选定的密文块进行异或运算?到目前为止,我一直在走这条路,但我坚持如何使用十六进制字符串进行这项工作。
for i in range(0, 20):
#g = bytes([i])
print(bytes([i]),end=' ')
#print(g, end=' ')
'我在范围内(255):十六进制(i)' – user2097159 2015-02-10 13:29:11