<如何利用printf漏洞突破canary保护>中 canary的大小端转换
问题描述
<如何利用printf漏洞突破canary保护>中,因为我使用的是python3,不支持canary.decode("hex")[::-1]
问题出现的环境背景及自己尝试过哪些方法
在网上查找大小端转换函数,是这样替换的
import binascii
canary=binascii.hexlify(binascii.unhexlify(canary)[::-1])
相关代码
canary = p.recv()[:8]
print(canary)
print(type(canary))
canary=binascii.hexlify(binascii.unhexlify(canary)[::-1])
print(canary)
print(type(canary))
相关调试信息
附图或描述
第一个是原始地址的canary,第二个是转换后的canary值,最后是打印生成的payload
你期待的结果是什么?实际看到的错误信息又是什么?
最后运行时会出现报错,想知道我哪个位置有问题?谢谢
[] Switching to interactive mode
** stack smashing detected **: terminated
[] Got EOF while reading in interactive
$ ls
[*] Process './printf2' stopped with exit code -6 (SIGABRT) (pid 3152)