首页
社区
课程
招聘
<如何利用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)

收藏
1条回答
Roger 2023-12-5

已在微信回复

回复
零基础入门pwn
  参与学习     1802 人
  提问次数     36 个
《零基础入门pwn》,短时间内踏入漏洞利用的大门,快速成为一名合格的pwn题选手
我的问答 领取收益
0
我的提问
0
我的回答
0
学习收益