在組織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)整后面分別對應(yīng)ebx ecx edx的參數(shù)一一對應(yīng)即可,,意思就是這里對ebx,、ecx、edx他們?nèi)齻€pop順序是沒有要求的是嗎,,我們只要保證這三項分別存入對應(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
|
就可以了呢,?