在組織payload時候需要調(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時候需要調(diào)換下順序,這里您指的調(diào)整payload就是調(diào)整后面分別對應ebx ecx edx的參數(shù)一一對應即可,意思就是這里對ebx、ecx、edx他們?nèi)齻€pop順序是沒有要求的是嗎,我們只要保證這三項分別存入對應的參數(shù)/bin/sh、0、0,然后返回到int 0x80就可以了是嗎,我可以理解為假如這里我們尋找到的是pop ebx ; pop ecx ; pop edx ; ret,那么exp中payload應該改成
1 | payload = 'a' * offset + pop_eax + p32( 0xb ) + pop_edx_ecx_ebx + bin_sh + p32( 0 ) + p32( 0 ) + int_0x80
|
就可以了呢?