<如何利用printf漏洞突破canary保護(hù)>中 canary的大小端轉(zhuǎn)換
問題描述
<如何利用printf漏洞突破canary保護(hù)>中,因?yàn)槲沂褂玫氖莗ython3,不支持canary.decode("hex")[::-1]
問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法
在網(wǎng)上查找大小端轉(zhuǎn)換函數(shù),是這樣替換的
import binascii
canary=binascii.hexlify(binascii.unhexlify(canary)[::-1])
相關(guān)代碼
canary = p.recv()[:8]
print(canary)
print(type(canary))
canary=binascii.hexlify(binascii.unhexlify(canary)[::-1])
print(canary)
print(type(canary))
相關(guān)調(diào)試信息
附圖或描述
第一個(gè)是原始地址的canary,第二個(gè)是轉(zhuǎn)換后的canary值,最后是打印生成的payload
你期待的結(jié)果是什么?實(shí)際看到的錯誤信息又是什么?
最后運(yùn)行時(shí)會出現(xiàn)報(bào)錯,想知道我哪個(gè)位置有問題?謝謝
[] 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)