
Plugin de Binary Ninja que escanea glibc libio en busca de rutas de código FSOP capaces de secuestrar el flujo de control y el puntero de pila, ayudando en la investigación de explotación de heap.
Encuentra la ruta de código FSOP que puede secuestrar el flujo de control y el puntero de pila en GLIBC Libio.
libc.so.6 en Binary ninja, luego haz clic en Tools -> Plugins -> Find FSOP code pathLog// GLIBC 2.34-0ubuntu3.2
3. _IO_wfile_underflow_mmap@0x86030 -> _IO_wdoallocbuf@0x83be0
0x8614d: call(0x83be0)
RIP/RDI DATAFLOW:
rbx = rdi -> rdi = rbx -> call(0x83be0)
RBP DATAFLOW:
rbp = [rdi + 0x98].q
CODE PATH:
eax = [rdi].d
=> [condition] (al & 4) == 0
rax = [rdi + 0xa0].q
rdx = [rax].q
=> [condition] rdx u>= [rax + 8].q
rdx = [rdi + 8].q
=> [condition] rdx u< [rdi + 0x10].q
rdi = [rax + 0x40].q
=> [condition] rdi == 0
0x83c0b: call([rax + 0x68].q)
RIP/RDI DATAFLOW:
rax = [rdi + 0xa0].q -> rax = [rax + 0xe0].q -> call([rax + 0x68].q)
RBP DATAFLOW:
(N/A)
CODE PATH:
rax = [rdi + 0xa0].q
=> [condition] [rax + 0x30].q == 0
=> [condition] ([rdi].b & 2) == 0
([0x216020] is the location of _IO_wfile_underflow_mmap in __libc_IO_vtables)
Una ruta de código FSOP que puede usarse para realizar migración de pila con un solo ataque FSOP, disponible en GLIBC 2.24+. También se conoce como house of apple2 encontrada de forma independiente por roderick01.
En realidad encontré esta ruta de código hace unas semanas pero estaba lidiando con otras cosas estos días, así que no me di cuenta de que alguien ya había publicado esta ruta de código X(
Este plugin se publica bajo una licencia MIT.