[問題] 一題CTF

看板NetSecurity (資安 資訊安全)作者 (牛頓運動定律)時間6年前 (2018/12/09 18:04), 編輯推噓1(104)
留言5則, 2人參與, 6年前最新討論串1/1
最近再看inndy的rop2可是看了writeup還是不懂為何這樣寫 題目是rop2 http://www.carlstar.club/2018/10/24/hackme.inndy.tw-pwn/ 關鍵payload是這樣 payload = fit({0xc + 0x4:[p32(addr_sys),p32(addr_gadget),p32(3),p32(0),p32(addr_bss),p32(30)]}) 想請問為何syscall後面可以擺一個rop gadget?? 我看syscall不都是用register來當參數,為何stack這樣擺可以work?? 感謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.13.180 ※ 文章網址: https://www.ptt.cc/bbs/NetSecurity/M.1544349863.A.52F.html

12/10 07:36, 6年前 , 1F
我沒做過瞎猜一下,syscall這個function雖然是用來call
12/10 07:36, 1F

12/10 07:36, 6年前 , 2F
syscall,但他是libc function,那參數傳遞跟一般func
12/10 07:36, 2F

12/10 07:36, 6年前 , 3F
tion一樣靠stack在底層才把參數放到register,所以可以
12/10 07:36, 3F

12/10 07:36, 6年前 , 4F
這樣寫吧
12/10 07:36, 4F

05/09 12:19, 6年前 , 5F
這裡的syscall是wrapper,glibc會放好register再syscall
05/09 12:19, 5F
文章代碼(AID): #1S3EYdKl (NetSecurity)
文章代碼(AID): #1S3EYdKl (NetSecurity)