在組織payload時(shí)候需要調(diào)換下順序,沒太理解
師傅想請教一下第6步中6.ROPgadget --binary ./ret2syscall --only "pop|ret" | grep "ebx" | grep "ecx" | grep "edx",,這里您提到了一句這里我們需要的是pop ebx ; pop ecx ; pop edx ; ret ,,但是得到的結(jié)果反了是pop edx ; pop ecx ; pop ebx; ret,,您說只不過順序和我們的不同,,在組織payload時(shí)候需要調(diào)換下順序,,這里您指的調(diào)整payload就是調(diào)整后面分別對應(yīng)ebx ecx edx的參數(shù)一一對應(yīng)即可,,意思就是這里對ebx、ecx,、edx他們?nèi)齻€(gè)pop順序是沒有要求的是嗎,,我們只要保證這三項(xiàng)分別存入對應(yīng)的參數(shù)/bin/sh、0,、0,,然后返回到int 0x80就可以了是嗎,我可以理解為假如這里我們尋找到的是pop ebx ; pop ecx ; pop edx ; ret,,那么exp中payload應(yīng)該改成
1 | payload = 'a' * offset + pop_eax + p32( 0xb ) + pop_edx_ecx_ebx + bin_sh + p32( 0 ) + p32( 0 ) + int_0x80
|
就可以了呢,?