Binary Exploitation - Linux - Basic
Table of Contents
tags: Security PWN
Online Resources
Angelboy/stack overflow Angelboy/ROP Angelboy/Sigreturn Oriented Programming Angelboy/Return to dl-resolve
Vulnerability
Stack Overflow
Fuzzing
如果一次塞太多 overflow 可能會造成不在預期的結果,還是要漸進式的把 overflow 的數量加上去。
Format String
GOT Hijacking
Return Oriented Programming
ret2shellcode
ROP gadget
ret2plt
ret2libc
OneGadget
Return to dl-resolve
ret2csu
位於 __libc_csu_init ,尾端有一段很好用的 gadget
- 透過控制 rbp rbx r12 r13 r14 r15 registers 的值,跳至 gadget 開頭, r13 r14 r15,分別放置前三個參數 rdi rsi rdx,此部分解決了很少找到 pop rdx gadget, ROP 很難控制第三個參數的問題
- 控制 r12 rbx 來指定任意記憶體位置
call [r12+rbx*8] - 將 rbx 設為 0,將 rbp 設為 1,在 call 完後使 rbx == rbp == 1, jne 不會 take,而繼續執⾏行後面的連續 pop register,如此可重複使用,達到任意 ROP
