window下的一個(gè)程序崭孤,題目中說(shuō)有個(gè)參數(shù)可以觸發(fā)該程序執(zhí)行后門操作类嗤,IDA反編譯辨宠,進(jìn)入關(guān)鍵函數(shù),猜測(cè)應(yīng)該是v13這個(gè)參數(shù)有問(wèn)題
image.png
而那個(gè)offset就是padding的長(zhǎng)度嗤形,我們的輸入就是offest ^ 0x6443,一開始我以為是在main里棧溢出赋兵,一直不成功,突然發(fā)現(xiàn)在棧布局里霹期,offset就在dest的后面。如果用dest溢出去覆蓋ret经伙,那offset會(huì)被修改,直接掛掉。所以應(yīng)該是在sub_401000這個(gè)函數(shù)里面溢出
image.png
所以offset = padding = 0x20+4
import hashlib
offset = 0x20+4
a=hex(offset^0x6443)[2:]
a=a.decode('hex')[::-1]
print "PCTF{" + hashlib.sha256(a).hexdigest()+"}"