
Binary-Ninja-Plugin, das glibc libio nach FSOP-Codepfaden durchsucht, die die Kontrollfluss- und Stack-Zeiger-Hijacking ermöglichen und die Heap-Exploitation-Forschung unterstützen.
Finde FSOP-Codepfade, die den Kontrollfluss und den Stack-Zeiger in GLIBC Libio hijacken können.
libc.so.6 in Binary Ninja und klicke dann auf Tools -> Plugins -> Find FSOP code pathLog-Fenster sehen// 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)
Ein FSOP-Codepfad, der verwendet werden kann, um Stack-Migration mit einem einzigen FSOP-Angriff durchzuführen, verfügbar ab GLIBC 2.24+. Er ist auch als house of apple2 bekannt und wurde unabhängig von roderick01 entdeckt.
Ich habe diesen Codepfad tatsächlich vor ein paar Wochen gefunden, aber ich hatte in diesen Tagen mit anderen Dingen zu kämpfen, sodass ich nicht bemerkt habe, dass jemand diesen Codepfad bereits veröffentlicht hat X(
Dieses Plugin wird unter einer MIT-Lizenz veröffentlicht.